Commit 0cc43a1806f078f7fd414850d8f1f1761696e4af

Authored by Jean Delvare
Committed by Jean Delvare
1 parent af5a60baae

i2c: Constify i2c_client where possible

Helper functions for I2C and SMBus transactions don't modify the
i2c_client that is passed to them, so it can be marked const.

Signed-off-by: Jean Delvare <khali@linux-fr.org>

Showing 3 changed files with 37 additions and 31 deletions Side-by-side Diff

drivers/i2c/i2c-core.c
... ... @@ -1362,7 +1362,7 @@
1362 1362 *
1363 1363 * Returns negative errno, or else the number of bytes written.
1364 1364 */
1365   -int i2c_master_send(struct i2c_client *client, const char *buf, int count)
  1365 +int i2c_master_send(const struct i2c_client *client, const char *buf, int count)
1366 1366 {
1367 1367 int ret;
1368 1368 struct i2c_adapter *adap = client->adapter;
... ... @@ -1389,7 +1389,7 @@
1389 1389 *
1390 1390 * Returns negative errno, or else the number of bytes read.
1391 1391 */
1392   -int i2c_master_recv(struct i2c_client *client, char *buf, int count)
  1392 +int i2c_master_recv(const struct i2c_client *client, char *buf, int count)
1393 1393 {
1394 1394 struct i2c_adapter *adap = client->adapter;
1395 1395 struct i2c_msg msg;
... ... @@ -1679,7 +1679,7 @@
1679 1679 * This executes the SMBus "receive byte" protocol, returning negative errno
1680 1680 * else the byte received from the device.
1681 1681 */
1682   -s32 i2c_smbus_read_byte(struct i2c_client *client)
  1682 +s32 i2c_smbus_read_byte(const struct i2c_client *client)
1683 1683 {
1684 1684 union i2c_smbus_data data;
1685 1685 int status;
... ... @@ -1699,7 +1699,7 @@
1699 1699 * This executes the SMBus "send byte" protocol, returning negative errno
1700 1700 * else zero on success.
1701 1701 */
1702   -s32 i2c_smbus_write_byte(struct i2c_client *client, u8 value)
  1702 +s32 i2c_smbus_write_byte(const struct i2c_client *client, u8 value)
1703 1703 {
1704 1704 return i2c_smbus_xfer(client->adapter, client->addr, client->flags,
1705 1705 I2C_SMBUS_WRITE, value, I2C_SMBUS_BYTE, NULL);
... ... @@ -1714,7 +1714,7 @@
1714 1714 * This executes the SMBus "read byte" protocol, returning negative errno
1715 1715 * else a data byte received from the device.
1716 1716 */
1717   -s32 i2c_smbus_read_byte_data(struct i2c_client *client, u8 command)
  1717 +s32 i2c_smbus_read_byte_data(const struct i2c_client *client, u8 command)
1718 1718 {
1719 1719 union i2c_smbus_data data;
1720 1720 int status;
... ... @@ -1735,7 +1735,8 @@
1735 1735 * This executes the SMBus "write byte" protocol, returning negative errno
1736 1736 * else zero on success.
1737 1737 */
1738   -s32 i2c_smbus_write_byte_data(struct i2c_client *client, u8 command, u8 value)
  1738 +s32 i2c_smbus_write_byte_data(const struct i2c_client *client, u8 command,
  1739 + u8 value)
1739 1740 {
1740 1741 union i2c_smbus_data data;
1741 1742 data.byte = value;
... ... @@ -1753,7 +1754,7 @@
1753 1754 * This executes the SMBus "read word" protocol, returning negative errno
1754 1755 * else a 16-bit unsigned "word" received from the device.
1755 1756 */
1756   -s32 i2c_smbus_read_word_data(struct i2c_client *client, u8 command)
  1757 +s32 i2c_smbus_read_word_data(const struct i2c_client *client, u8 command)
1757 1758 {
1758 1759 union i2c_smbus_data data;
1759 1760 int status;
... ... @@ -1774,7 +1775,8 @@
1774 1775 * This executes the SMBus "write word" protocol, returning negative errno
1775 1776 * else zero on success.
1776 1777 */
1777   -s32 i2c_smbus_write_word_data(struct i2c_client *client, u8 command, u16 value)
  1778 +s32 i2c_smbus_write_word_data(const struct i2c_client *client, u8 command,
  1779 + u16 value)
1778 1780 {
1779 1781 union i2c_smbus_data data;
1780 1782 data.word = value;
... ... @@ -1793,7 +1795,8 @@
1793 1795 * This executes the SMBus "process call" protocol, returning negative errno
1794 1796 * else a 16-bit unsigned "word" received from the device.
1795 1797 */
1796   -s32 i2c_smbus_process_call(struct i2c_client *client, u8 command, u16 value)
  1798 +s32 i2c_smbus_process_call(const struct i2c_client *client, u8 command,
  1799 + u16 value)
1797 1800 {
1798 1801 union i2c_smbus_data data;
1799 1802 int status;
... ... @@ -1821,7 +1824,7 @@
1821 1824 * support this; its emulation through I2C messaging relies on a specific
1822 1825 * mechanism (I2C_M_RECV_LEN) which may not be implemented.
1823 1826 */
1824   -s32 i2c_smbus_read_block_data(struct i2c_client *client, u8 command,
  1827 +s32 i2c_smbus_read_block_data(const struct i2c_client *client, u8 command,
1825 1828 u8 *values)
1826 1829 {
1827 1830 union i2c_smbus_data data;
... ... @@ -1848,7 +1851,7 @@
1848 1851 * This executes the SMBus "block write" protocol, returning negative errno
1849 1852 * else zero on success.
1850 1853 */
1851   -s32 i2c_smbus_write_block_data(struct i2c_client *client, u8 command,
  1854 +s32 i2c_smbus_write_block_data(const struct i2c_client *client, u8 command,
1852 1855 u8 length, const u8 *values)
1853 1856 {
1854 1857 union i2c_smbus_data data;
... ... @@ -1864,7 +1867,7 @@
1864 1867 EXPORT_SYMBOL(i2c_smbus_write_block_data);
1865 1868  
1866 1869 /* Returns the number of read bytes */
1867   -s32 i2c_smbus_read_i2c_block_data(struct i2c_client *client, u8 command,
  1870 +s32 i2c_smbus_read_i2c_block_data(const struct i2c_client *client, u8 command,
1868 1871 u8 length, u8 *values)
1869 1872 {
1870 1873 union i2c_smbus_data data;
... ... @@ -1884,7 +1887,7 @@
1884 1887 }
1885 1888 EXPORT_SYMBOL(i2c_smbus_read_i2c_block_data);
1886 1889  
1887   -s32 i2c_smbus_write_i2c_block_data(struct i2c_client *client, u8 command,
  1890 +s32 i2c_smbus_write_i2c_block_data(const struct i2c_client *client, u8 command,
1888 1891 u8 length, const u8 *values)
1889 1892 {
1890 1893 union i2c_smbus_data data;
drivers/rtc/rtc-ds1307.c
... ... @@ -106,9 +106,9 @@
106 106 struct i2c_client *client;
107 107 struct rtc_device *rtc;
108 108 struct work_struct work;
109   - s32 (*read_block_data)(struct i2c_client *client, u8 command,
  109 + s32 (*read_block_data)(const struct i2c_client *client, u8 command,
110 110 u8 length, u8 *values);
111   - s32 (*write_block_data)(struct i2c_client *client, u8 command,
  111 + s32 (*write_block_data)(const struct i2c_client *client, u8 command,
112 112 u8 length, const u8 *values);
113 113 };
114 114  
... ... @@ -158,8 +158,8 @@
158 158  
159 159 #define BLOCK_DATA_MAX_TRIES 10
160 160  
161   -static s32 ds1307_read_block_data_once(struct i2c_client *client, u8 command,
162   - u8 length, u8 *values)
  161 +static s32 ds1307_read_block_data_once(const struct i2c_client *client,
  162 + u8 command, u8 length, u8 *values)
163 163 {
164 164 s32 i, data;
165 165  
... ... @@ -172,7 +172,7 @@
172 172 return i;
173 173 }
174 174  
175   -static s32 ds1307_read_block_data(struct i2c_client *client, u8 command,
  175 +static s32 ds1307_read_block_data(const struct i2c_client *client, u8 command,
176 176 u8 length, u8 *values)
177 177 {
178 178 u8 oldvalues[I2C_SMBUS_BLOCK_MAX];
... ... @@ -198,7 +198,7 @@
198 198 return length;
199 199 }
200 200  
201   -static s32 ds1307_write_block_data(struct i2c_client *client, u8 command,
  201 +static s32 ds1307_write_block_data(const struct i2c_client *client, u8 command,
202 202 u8 length, const u8 *values)
203 203 {
204 204 u8 currvalues[I2C_SMBUS_BLOCK_MAX];
... ... @@ -57,9 +57,10 @@
57 57 * transmit an arbitrary number of messages without interruption.
58 58 * @count must be be less than 64k since msg.len is u16.
59 59 */
60   -extern int i2c_master_send(struct i2c_client *client, const char *buf,
  60 +extern int i2c_master_send(const struct i2c_client *client, const char *buf,
61 61 int count);
62   -extern int i2c_master_recv(struct i2c_client *client, char *buf, int count);
  62 +extern int i2c_master_recv(const struct i2c_client *client, char *buf,
  63 + int count);
63 64  
64 65 /* Transfer num messages.
65 66 */
66 67  
67 68  
68 69  
69 70  
70 71  
... ... @@ -78,23 +79,25 @@
78 79 /* Now follow the 'nice' access routines. These also document the calling
79 80 conventions of i2c_smbus_xfer. */
80 81  
81   -extern s32 i2c_smbus_read_byte(struct i2c_client *client);
82   -extern s32 i2c_smbus_write_byte(struct i2c_client *client, u8 value);
83   -extern s32 i2c_smbus_read_byte_data(struct i2c_client *client, u8 command);
84   -extern s32 i2c_smbus_write_byte_data(struct i2c_client *client,
  82 +extern s32 i2c_smbus_read_byte(const struct i2c_client *client);
  83 +extern s32 i2c_smbus_write_byte(const struct i2c_client *client, u8 value);
  84 +extern s32 i2c_smbus_read_byte_data(const struct i2c_client *client,
  85 + u8 command);
  86 +extern s32 i2c_smbus_write_byte_data(const struct i2c_client *client,
85 87 u8 command, u8 value);
86   -extern s32 i2c_smbus_read_word_data(struct i2c_client *client, u8 command);
87   -extern s32 i2c_smbus_write_word_data(struct i2c_client *client,
  88 +extern s32 i2c_smbus_read_word_data(const struct i2c_client *client,
  89 + u8 command);
  90 +extern s32 i2c_smbus_write_word_data(const struct i2c_client *client,
88 91 u8 command, u16 value);
89 92 /* Returns the number of read bytes */
90   -extern s32 i2c_smbus_read_block_data(struct i2c_client *client,
  93 +extern s32 i2c_smbus_read_block_data(const struct i2c_client *client,
91 94 u8 command, u8 *values);
92   -extern s32 i2c_smbus_write_block_data(struct i2c_client *client,
  95 +extern s32 i2c_smbus_write_block_data(const struct i2c_client *client,
93 96 u8 command, u8 length, const u8 *values);
94 97 /* Returns the number of read bytes */
95   -extern s32 i2c_smbus_read_i2c_block_data(struct i2c_client *client,
  98 +extern s32 i2c_smbus_read_i2c_block_data(const struct i2c_client *client,
96 99 u8 command, u8 length, u8 *values);
97   -extern s32 i2c_smbus_write_i2c_block_data(struct i2c_client *client,
  100 +extern s32 i2c_smbus_write_i2c_block_data(const struct i2c_client *client,
98 101 u8 command, u8 length,
99 102 const u8 *values);
100 103 #endif /* I2C */