* [linux-next:master 891/7393] drivers/macintosh/ams/ams-i2c.c:74:27: error: initialization of 'void (*)(struct i2c_client *)' from incompatible pointer type 'int (*)(struct i2c_client *)'
@ 2022-09-16 8:10 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-09-16 8:10 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: kbuild-all, Linux Memory Management List, Wolfram Sang,
Peter Senna Tschudin, Jeremy Kerr, Benjamin Mugnier,
Javier Martinez Canillas, Crt Mori, Heikki Krogerus,
Petr Machata, Maximilian Luz, Luca Ceresoli, Ajay Gupta,
Jean Delvare, Vladimir Oltean
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 6ce5d01e7011b32600656bf90a626b1e51fb192a
commit: ed5c2f5fd10dda07263f79f338a512c0f49f76f5 [891/7393] i2c: Make remove callback return void
config: powerpc-buildonly-randconfig-r003-20220915 (https://download.01.org/0day-ci/archive/20220916/202209161552.cVmfMdfo-lkp@intel.com/config)
compiler: powerpc-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=ed5c2f5fd10dda07263f79f338a512c0f49f76f5
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout ed5c2f5fd10dda07263f79f338a512c0f49f76f5
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=powerpc SHELL=/bin/bash drivers/macintosh/ams/
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
All error/warnings (new ones prefixed by >>):
>> drivers/macintosh/ams/ams-i2c.c:74:27: error: initialization of 'void (*)(struct i2c_client *)' from incompatible pointer type 'int (*)(struct i2c_client *)' [-Werror=incompatible-pointer-types]
74 | .remove = ams_i2c_remove,
| ^~~~~~~~~~~~~~
drivers/macintosh/ams/ams-i2c.c:74:27: note: (near initialization for 'ams_i2c_driver.remove')
>> drivers/macintosh/ams/ams-i2c.c:233:13: error: conflicting types for 'ams_i2c_remove'; have 'void(struct i2c_client *)'
233 | static void ams_i2c_remove(struct i2c_client *client)
| ^~~~~~~~~~~~~~
drivers/macintosh/ams/ams-i2c.c:61:12: note: previous declaration of 'ams_i2c_remove' with type 'int(struct i2c_client *)'
61 | static int ams_i2c_remove(struct i2c_client *client);
| ^~~~~~~~~~~~~~
>> drivers/macintosh/ams/ams-i2c.c:61:12: warning: 'ams_i2c_remove' used but never defined
drivers/macintosh/ams/ams-i2c.c:233:13: warning: 'ams_i2c_remove' defined but not used [-Wunused-function]
233 | static void ams_i2c_remove(struct i2c_client *client)
| ^~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +74 drivers/macintosh/ams/ams-i2c.c
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 58
810ad7b62c0f07 drivers/hwmon/ams/ams-i2c.c Jean Delvare 2008-10-17 59 static int ams_i2c_probe(struct i2c_client *client,
810ad7b62c0f07 drivers/hwmon/ams/ams-i2c.c Jean Delvare 2008-10-17 60 const struct i2c_device_id *id);
810ad7b62c0f07 drivers/hwmon/ams/ams-i2c.c Jean Delvare 2008-10-17 @61 static int ams_i2c_remove(struct i2c_client *client);
810ad7b62c0f07 drivers/hwmon/ams/ams-i2c.c Jean Delvare 2008-10-17 62
810ad7b62c0f07 drivers/hwmon/ams/ams-i2c.c Jean Delvare 2008-10-17 63 static const struct i2c_device_id ams_id[] = {
81e5d8646ff6bf drivers/macintosh/ams/ams-i2c.c Benjamin Herrenschmidt 2012-04-18 64 { "MAC,accelerometer_1", 0 },
810ad7b62c0f07 drivers/hwmon/ams/ams-i2c.c Jean Delvare 2008-10-17 65 { }
810ad7b62c0f07 drivers/hwmon/ams/ams-i2c.c Jean Delvare 2008-10-17 66 };
810ad7b62c0f07 drivers/hwmon/ams/ams-i2c.c Jean Delvare 2008-10-17 67 MODULE_DEVICE_TABLE(i2c, ams_id);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 68
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 69 static struct i2c_driver ams_i2c_driver = {
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 70 .driver = {
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 71 .name = "ams",
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 72 },
810ad7b62c0f07 drivers/hwmon/ams/ams-i2c.c Jean Delvare 2008-10-17 73 .probe = ams_i2c_probe,
810ad7b62c0f07 drivers/hwmon/ams/ams-i2c.c Jean Delvare 2008-10-17 @74 .remove = ams_i2c_remove,
810ad7b62c0f07 drivers/hwmon/ams/ams-i2c.c Jean Delvare 2008-10-17 75 .id_table = ams_id,
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 76 };
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 77
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 78 static s32 ams_i2c_read(u8 reg)
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 79 {
810ad7b62c0f07 drivers/hwmon/ams/ams-i2c.c Jean Delvare 2008-10-17 80 return i2c_smbus_read_byte_data(ams_info.i2c_client, reg);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 81 }
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 82
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 83 static int ams_i2c_write(u8 reg, u8 value)
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 84 {
810ad7b62c0f07 drivers/hwmon/ams/ams-i2c.c Jean Delvare 2008-10-17 85 return i2c_smbus_write_byte_data(ams_info.i2c_client, reg, value);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 86 }
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 87
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 88 static int ams_i2c_cmd(enum ams_i2c_cmd cmd)
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 89 {
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 90 s32 result;
63232dcd555d60 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2007-05-08 91 int count = 3;
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 92
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 93 ams_i2c_write(AMS_COMMAND, cmd);
63232dcd555d60 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2007-05-08 94 msleep(5);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 95
63232dcd555d60 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2007-05-08 96 while (count--) {
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 97 result = ams_i2c_read(AMS_COMMAND);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 98 if (result == 0 || result & 0x80)
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 99 return 0;
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 100
63232dcd555d60 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2007-05-08 101 schedule_timeout_uninterruptible(HZ / 20);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 102 }
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 103
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 104 return -1;
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 105 }
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 106
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 107 static void ams_i2c_set_irq(enum ams_irq reg, char enable)
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 108 {
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 109 if (reg & AMS_IRQ_FREEFALL) {
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 110 u8 val = ams_i2c_read(AMS_CTRLX);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 111 if (enable)
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 112 val |= 0x80;
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 113 else
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 114 val &= ~0x80;
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 115 ams_i2c_write(AMS_CTRLX, val);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 116 }
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 117
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 118 if (reg & AMS_IRQ_SHOCK) {
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 119 u8 val = ams_i2c_read(AMS_CTRLY);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 120 if (enable)
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 121 val |= 0x80;
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 122 else
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 123 val &= ~0x80;
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 124 ams_i2c_write(AMS_CTRLY, val);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 125 }
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 126
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 127 if (reg & AMS_IRQ_GLOBAL) {
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 128 u8 val = ams_i2c_read(AMS_CTRLZ);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 129 if (enable)
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 130 val |= 0x80;
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 131 else
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 132 val &= ~0x80;
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 133 ams_i2c_write(AMS_CTRLZ, val);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 134 }
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 135 }
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 136
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 137 static void ams_i2c_clear_irq(enum ams_irq reg)
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 138 {
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 139 if (reg & AMS_IRQ_FREEFALL)
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 140 ams_i2c_write(AMS_FREEFALL, 0);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 141
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 142 if (reg & AMS_IRQ_SHOCK)
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 143 ams_i2c_write(AMS_SHOCK, 0);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 144 }
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 145
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 146 static u8 ams_i2c_get_vendor(void)
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 147 {
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 148 return ams_i2c_read(AMS_VENDOR);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 149 }
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 150
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 151 static void ams_i2c_get_xyz(s8 *x, s8 *y, s8 *z)
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 152 {
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 153 *x = ams_i2c_read(AMS_DATAX);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 154 *y = ams_i2c_read(AMS_DATAY);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 155 *z = ams_i2c_read(AMS_DATAZ);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 156 }
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 157
810ad7b62c0f07 drivers/hwmon/ams/ams-i2c.c Jean Delvare 2008-10-17 158 static int ams_i2c_probe(struct i2c_client *client,
810ad7b62c0f07 drivers/hwmon/ams/ams-i2c.c Jean Delvare 2008-10-17 159 const struct i2c_device_id *id)
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 160 {
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 161 int vmaj, vmin;
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 162 int result;
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 163
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 164 /* There can be only one */
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 165 if (unlikely(ams_info.has_device))
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 166 return -ENODEV;
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 167
810ad7b62c0f07 drivers/hwmon/ams/ams-i2c.c Jean Delvare 2008-10-17 168 ams_info.i2c_client = client;
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 169
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 170 if (ams_i2c_cmd(AMS_CMD_RESET)) {
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 171 printk(KERN_INFO "ams: Failed to reset the device\n");
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 172 return -ENODEV;
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 173 }
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 174
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 175 if (ams_i2c_cmd(AMS_CMD_START)) {
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 176 printk(KERN_INFO "ams: Failed to start the device\n");
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 177 return -ENODEV;
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 178 }
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 179
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 180 /* get version/vendor information */
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 181 ams_i2c_write(AMS_CTRL1, 0x02);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 182 ams_i2c_write(AMS_CTRL2, 0x85);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 183 ams_i2c_write(AMS_CTRL3, 0x01);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 184
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 185 ams_i2c_cmd(AMS_CMD_READMEM);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 186
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 187 vmaj = ams_i2c_read(AMS_DATA1);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 188 vmin = ams_i2c_read(AMS_DATA2);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 189 if (vmaj != 1 || vmin != 52) {
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 190 printk(KERN_INFO "ams: Incorrect device version (%d.%d)\n",
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 191 vmaj, vmin);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 192 return -ENODEV;
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 193 }
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 194
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 195 ams_i2c_cmd(AMS_CMD_VERSION);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 196
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 197 vmaj = ams_i2c_read(AMS_DATA1);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 198 vmin = ams_i2c_read(AMS_DATA2);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 199 if (vmaj != 0 || vmin != 1) {
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 200 printk(KERN_INFO "ams: Incorrect firmware version (%d.%d)\n",
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 201 vmaj, vmin);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 202 return -ENODEV;
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 203 }
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 204
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 205 /* Disable interrupts */
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 206 ams_i2c_set_irq(AMS_IRQ_ALL, 0);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 207
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 208 result = ams_sensor_attach();
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 209 if (result < 0)
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 210 return result;
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 211
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 212 /* Set default values */
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 213 ams_i2c_write(AMS_SENSLOW, 0x15);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 214 ams_i2c_write(AMS_SENSHIGH, 0x60);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 215 ams_i2c_write(AMS_CTRLX, 0x08);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 216 ams_i2c_write(AMS_CTRLY, 0x0F);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 217 ams_i2c_write(AMS_CTRLZ, 0x4F);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 218 ams_i2c_write(AMS_UNKNOWN1, 0x14);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 219
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 220 /* Clear interrupts */
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 221 ams_i2c_clear_irq(AMS_IRQ_ALL);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 222
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 223 ams_info.has_device = 1;
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 224
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 225 /* Enable interrupts */
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 226 ams_i2c_set_irq(AMS_IRQ_ALL, 1);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 227
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 228 printk(KERN_INFO "ams: Found I2C based motion sensor\n");
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 229
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 230 return 0;
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 231 }
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 232
ed5c2f5fd10dda drivers/macintosh/ams/ams-i2c.c Uwe Kleine-König 2022-08-15 @233 static void ams_i2c_remove(struct i2c_client *client)
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 234 {
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 235 if (ams_info.has_device) {
98ceb75c7c14ea drivers/hwmon/ams/ams-i2c.c Jean Delvare 2010-01-31 236 ams_sensor_detach();
98ceb75c7c14ea drivers/hwmon/ams/ams-i2c.c Jean Delvare 2010-01-31 237
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 238 /* Disable interrupts */
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 239 ams_i2c_set_irq(AMS_IRQ_ALL, 0);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 240
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 241 /* Clear interrupts */
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 242 ams_i2c_clear_irq(AMS_IRQ_ALL);
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 243
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 244 printk(KERN_INFO "ams: Unloading\n");
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 245
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 246 ams_info.has_device = 0;
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 247 }
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 248 }
dcb69dd010c182 drivers/hwmon/ams/ams-i2c.c Stelian Pop 2006-12-12 249
:::::: The code at line 74 was first introduced by commit
:::::: 810ad7b62c0f075dc44ecc781b24c7f6ba388da5 hwmon: (ams) Convert to a new-style i2c driver
:::::: TO: Jean Delvare <khali@linux-fr.org>
:::::: CC: Jean Delvare <khali@mahadeva.delvare>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-09-16 8:10 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-16 8:10 [linux-next:master 891/7393] drivers/macintosh/ams/ams-i2c.c:74:27: error: initialization of 'void (*)(struct i2c_client *)' from incompatible pointer type 'int (*)(struct i2c_client *)' kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.