Hi Rudolf, FYI, there are new smatch warnings show up in
tree: git://github.com/at91linux/linux-at91.git at91-3.14-next_fixes_cleanup_dt-resolution head: e4491207a614e4d9918f4812792c82705db82c4b commit: 6f1a578cf200459198fca517e3f90a2a986d8538 [2454/2602] hwmon: (it87) Add support for the ITE IT8603E drivers/hwmon/it87.c:2034 it87_remove_files() error: buffer overflow 'it87_attributes_in_beep' 9 <= 9 drivers/hwmon/it87.c:2036 it87_remove_files() error: buffer overflow 'it87_attributes_in_beep' 9 <= 9 drivers/hwmon/it87.c:2174 it87_probe() error: buffer overflow 'it87_attributes_in_beep' 9 <= 9 drivers/hwmon/it87.c:2176 it87_probe() error: buffer overflow 'it87_attributes_in_beep' 9 <= 9 git remote add at91 git://github.com/at91linux/linux-at91.git git remote update at91 git checkout 6f1a578cf200459198fca517e3f90a2a986d8538 vim +/it87_attributes_in_beep +2034 drivers/hwmon/it87.c 723a0aa0 drivers/hwmon/it87.c Jean Delvare 2010-03-05 2028 723a0aa0 drivers/hwmon/it87.c Jean Delvare 2010-03-05 2029 sysfs_remove_group(&dev->kobj, &it87_group); 6f1a578c drivers/hwmon/it87.c Rudolf Marek 2013-12-02 2030 for (i = 0; i < 10; i++) { 9172b5d1 drivers/hwmon/it87.c Guenter Roeck 2012-03-24 2031 if (sio_data->skip_in & (1 << i)) 9172b5d1 drivers/hwmon/it87.c Guenter Roeck 2012-03-24 2032 continue; 9172b5d1 drivers/hwmon/it87.c Guenter Roeck 2012-03-24 2033 sysfs_remove_group(&dev->kobj, &it87_group_in[i]); 9172b5d1 drivers/hwmon/it87.c Guenter Roeck 2012-03-24 @2034 if (it87_attributes_in_beep[i]) 9172b5d1 drivers/hwmon/it87.c Guenter Roeck 2012-03-24 2035 sysfs_remove_file(&dev->kobj, 9172b5d1 drivers/hwmon/it87.c Guenter Roeck 2012-03-24 @2036 it87_attributes_in_beep[i]); 9172b5d1 drivers/hwmon/it87.c Guenter Roeck 2012-03-24 2037 } 4573acbc drivers/hwmon/it87.c Guenter Roeck 2012-03-26 2038 for (i = 0; i < 3; i++) { 4573acbc drivers/hwmon/it87.c Guenter Roeck 2012-03-26 2039 if (!(data->has_temp & (1 << i))) 4573acbc drivers/hwmon/it87.c Guenter Roeck 2012-03-26 2040 continue; 4573acbc drivers/hwmon/it87.c Guenter Roeck 2012-03-26 2041 sysfs_remove_group(&dev->kobj, &it87_group_temp[i]); 161d898a drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2042 if (has_temp_offset(data)) 161d898a drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2043 sysfs_remove_file(&dev->kobj, 161d898a drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2044 it87_attributes_temp_offset[i]); 4573acbc drivers/hwmon/it87.c Guenter Roeck 2012-03-26 2045 if (sio_data->beep_pin) 4573acbc drivers/hwmon/it87.c Guenter Roeck 2012-03-26 2046 sysfs_remove_file(&dev->kobj, 4573acbc drivers/hwmon/it87.c Guenter Roeck 2012-03-26 2047 it87_attributes_temp_beep[i]); 4573acbc drivers/hwmon/it87.c Guenter Roeck 2012-03-26 2048 } 723a0aa0 drivers/hwmon/it87.c Jean Delvare 2010-03-05 2049 for (i = 0; i < 5; i++) { 723a0aa0 drivers/hwmon/it87.c Jean Delvare 2010-03-05 2050 if (!(data->has_fan & (1 << i))) 723a0aa0 drivers/hwmon/it87.c Jean Delvare 2010-03-05 2051 continue; e1169ba0 drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2052 sysfs_remove_group(&dev->kobj, &it87_group_fan[i]); d9b327c3 drivers/hwmon/it87.c Jean Delvare 2010-03-05 2053 if (sio_data->beep_pin) d9b327c3 drivers/hwmon/it87.c Jean Delvare 2010-03-05 2054 sysfs_remove_file(&dev->kobj, d9b327c3 drivers/hwmon/it87.c Jean Delvare 2010-03-05 2055 it87_attributes_fan_beep[i]); e1169ba0 drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2056 if (i < 3 && !has_16bit_fans(data)) e1169ba0 drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2057 sysfs_remove_file(&dev->kobj, e1169ba0 drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2058 it87_attributes_fan_div[i]); 723a0aa0 drivers/hwmon/it87.c Jean Delvare 2010-03-05 2059 } 723a0aa0 drivers/hwmon/it87.c Jean Delvare 2010-03-05 2060 for (i = 0; i < 3; i++) { 723a0aa0 drivers/hwmon/it87.c Jean Delvare 2010-03-05 2061 if (sio_data->skip_pwm & (1 << 0)) 723a0aa0 drivers/hwmon/it87.c Jean Delvare 2010-03-05 2062 continue; 723a0aa0 drivers/hwmon/it87.c Jean Delvare 2010-03-05 2063 sysfs_remove_group(&dev->kobj, &it87_group_pwm[i]); 4f3f51bc drivers/hwmon/it87.c Jean Delvare 2010-03-05 2064 if (has_old_autopwm(data)) 4f3f51bc drivers/hwmon/it87.c Jean Delvare 2010-03-05 2065 sysfs_remove_group(&dev->kobj, 4f3f51bc drivers/hwmon/it87.c Jean Delvare 2010-03-05 2066 &it87_group_autopwm[i]); 723a0aa0 drivers/hwmon/it87.c Jean Delvare 2010-03-05 2067 } 6a8d7acf drivers/hwmon/it87.c Jean Delvare 2010-03-05 2068 if (!sio_data->skip_vid) 6a8d7acf drivers/hwmon/it87.c Jean Delvare 2010-03-05 2069 sysfs_remove_group(&dev->kobj, &it87_group_vid); 738e5e05 drivers/hwmon/it87.c Jean Delvare 2010-08-14 2070 sysfs_remove_group(&dev->kobj, &it87_group_label); 723a0aa0 drivers/hwmon/it87.c Jean Delvare 2010-03-05 2071 } 723a0aa0 drivers/hwmon/it87.c Jean Delvare 2010-03-05 2072 6c931ae1 drivers/hwmon/it87.c Bill Pemberton 2012-11-19 2073 static int it87_probe(struct platform_device *pdev) ^1da177e drivers/i2c/chips/it87.c Linus Torvalds 2005-04-16 2074 { ^1da177e drivers/i2c/chips/it87.c Linus Torvalds 2005-04-16 2075 struct it87_data *data; b74f3fdd drivers/hwmon/it87.c corentin.labbe 2007-06-13 2076 struct resource *res; b74f3fdd drivers/hwmon/it87.c corentin.labbe 2007-06-13 2077 struct device *dev = &pdev->dev; a8b3a3a5 drivers/hwmon/it87.c Jingoo Han 2013-07-30 2078 struct it87_sio_data *sio_data = dev_get_platdata(dev); 723a0aa0 drivers/hwmon/it87.c Jean Delvare 2010-03-05 2079 int err = 0, i; ^1da177e drivers/i2c/chips/it87.c Linus Torvalds 2005-04-16 2080 int enable_pwm_interface; d9b327c3 drivers/hwmon/it87.c Jean Delvare 2010-03-05 2081 int fan_beep_need_rw; b74f3fdd drivers/hwmon/it87.c corentin.labbe 2007-06-13 2082 b74f3fdd drivers/hwmon/it87.c corentin.labbe 2007-06-13 2083 res = platform_get_resource(pdev, IORESOURCE_IO, 0); 62a1d05f drivers/hwmon/it87.c Guenter Roeck 2012-03-24 2084 if (!devm_request_region(&pdev->dev, res->start, IT87_EC_EXTENT, 62a1d05f drivers/hwmon/it87.c Guenter Roeck 2012-03-24 2085 DRVNAME)) { b74f3fdd drivers/hwmon/it87.c corentin.labbe 2007-06-13 2086 dev_err(dev, "Failed to request region 0x%lx-0x%lx\n", b74f3fdd drivers/hwmon/it87.c corentin.labbe 2007-06-13 2087 (unsigned long)res->start, 87b4b663 drivers/hwmon/it87.c Bjorn Helgaas 2008-01-22 2088 (unsigned long)(res->start + IT87_EC_EXTENT - 1)); 62a1d05f drivers/hwmon/it87.c Guenter Roeck 2012-03-24 2089 return -EBUSY; 8e9afcbb drivers/hwmon/it87.c Jean Delvare 2006-12-12 2090 } ^1da177e drivers/i2c/chips/it87.c Linus Torvalds 2005-04-16 2091 62a1d05f drivers/hwmon/it87.c Guenter Roeck 2012-03-24 2092 data = devm_kzalloc(&pdev->dev, sizeof(struct it87_data), GFP_KERNEL); 62a1d05f drivers/hwmon/it87.c Guenter Roeck 2012-03-24 2093 if (!data) 62a1d05f drivers/hwmon/it87.c Guenter Roeck 2012-03-24 2094 return -ENOMEM; ^1da177e drivers/i2c/chips/it87.c Linus Torvalds 2005-04-16 2095 b74f3fdd drivers/hwmon/it87.c corentin.labbe 2007-06-13 2096 data->addr = res->start; b74f3fdd drivers/hwmon/it87.c corentin.labbe 2007-06-13 2097 data->type = sio_data->type; 483db43e drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2098 data->features = it87_devices[sio_data->type].features; 5d8d2f2b drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2099 data->peci_mask = it87_devices[sio_data->type].peci_mask; 19529784 drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2100 data->old_peci_mask = it87_devices[sio_data->type].old_peci_mask; 483db43e drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2101 data->name = it87_devices[sio_data->type].name; 483db43e drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2102 /* 483db43e drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2103 * IT8705F Datasheet 0.4.1, 3h == Version G. 483db43e drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2104 * IT8712F Datasheet 0.9.1, section 8.3.5 indicates 8h == Version J. 483db43e drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2105 * These are the first revisions with 16-bit tachometer support. 483db43e drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2106 */ 483db43e drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2107 switch (data->type) { 483db43e drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2108 case it87: 483db43e drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2109 if (sio_data->revision >= 0x03) { 483db43e drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2110 data->features &= ~FEAT_OLD_AUTOPWM; 483db43e drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2111 data->features |= FEAT_16BIT_FANS; 483db43e drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2112 } 483db43e drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2113 break; 483db43e drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2114 case it8712: 483db43e drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2115 if (sio_data->revision >= 0x08) { 483db43e drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2116 data->features &= ~FEAT_OLD_AUTOPWM; 483db43e drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2117 data->features |= FEAT_16BIT_FANS; 483db43e drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2118 } 483db43e drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2119 break; 483db43e drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2120 default: 483db43e drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2121 break; 483db43e drivers/hwmon/it87.c Guenter Roeck 2012-12-19 2122 } ^1da177e drivers/i2c/chips/it87.c Linus Torvalds 2005-04-16 2123 ^1da177e drivers/i2c/chips/it87.c Linus Torvalds 2005-04-16 2124 /* Now, we do the remaining detection. */ b74f3fdd drivers/hwmon/it87.c corentin.labbe 2007-06-13 2125 if ((it87_read_value(data, IT87_REG_CONFIG) & 0x80) 62a1d05f drivers/hwmon/it87.c Guenter Roeck 2012-03-24 2126 || it87_read_value(data, IT87_REG_CHIPID) != 0x90) 62a1d05f drivers/hwmon/it87.c Guenter Roeck 2012-03-24 2127 return -ENODEV; ^1da177e drivers/i2c/chips/it87.c Linus Torvalds 2005-04-16 2128 b74f3fdd drivers/hwmon/it87.c corentin.labbe 2007-06-13 2129 platform_set_drvdata(pdev, data); ^1da177e drivers/i2c/chips/it87.c Linus Torvalds 2005-04-16 2130 9a61bf63 drivers/hwmon/it87.c Ingo Molnar 2006-01-18 2131 mutex_init(&data->update_lock); ^1da177e drivers/i2c/chips/it87.c Linus Torvalds 2005-04-16 2132 ^1da177e drivers/i2c/chips/it87.c Linus Torvalds 2005-04-16 2133 /* Check PWM configuration */ b74f3fdd drivers/hwmon/it87.c corentin.labbe 2007-06-13 2134 enable_pwm_interface = it87_check_pwm(dev); ^1da177e drivers/i2c/chips/it87.c Linus Torvalds 2005-04-16 2135 44c1bcd4 drivers/hwmon/it87.c Jean Delvare 2010-10-28 2136 /* Starting with IT8721F, we handle scaling of internal voltages */ 16b5dda2 drivers/hwmon/it87.c Jean Delvare 2012-01-16 2137 if (has_12mv_adc(data)) { 44c1bcd4 drivers/hwmon/it87.c Jean Delvare 2010-10-28 2138 if (sio_data->internal & (1 << 0)) 44c1bcd4 drivers/hwmon/it87.c Jean Delvare 2010-10-28 2139 data->in_scaled |= (1 << 3); /* in3 is AVCC */ 44c1bcd4 drivers/hwmon/it87.c Jean Delvare 2010-10-28 2140 if (sio_data->internal & (1 << 1)) 44c1bcd4 drivers/hwmon/it87.c Jean Delvare 2010-10-28 2141 data->in_scaled |= (1 << 7); /* in7 is VSB */ 44c1bcd4 drivers/hwmon/it87.c Jean Delvare 2010-10-28 2142 if (sio_data->internal & (1 << 2)) 44c1bcd4 drivers/hwmon/it87.c Jean Delvare 2010-10-28 2143 data->in_scaled |= (1 << 8); /* in8 is Vbat */ 6f1a578c drivers/hwmon/it87.c Rudolf Marek 2013-12-02 2144 if (sio_data->internal & (1 << 3)) 6f1a578c drivers/hwmon/it87.c Rudolf Marek 2013-12-02 2145 data->in_scaled |= (1 << 9); /* in9 is AVCC */ 0531d98b drivers/hwmon/it87.c Guenter Roeck 2012-03-02 2146 } else if (sio_data->type == it8782 || sio_data->type == it8783) { 0531d98b drivers/hwmon/it87.c Guenter Roeck 2012-03-02 2147 if (sio_data->internal & (1 << 0)) 0531d98b drivers/hwmon/it87.c Guenter Roeck 2012-03-02 2148 data->in_scaled |= (1 << 3); /* in3 is VCC5V */ 0531d98b drivers/hwmon/it87.c Guenter Roeck 2012-03-02 2149 if (sio_data->internal & (1 << 1)) 0531d98b drivers/hwmon/it87.c Guenter Roeck 2012-03-02 2150 data->in_scaled |= (1 << 7); /* in7 is VCCH5V */ 44c1bcd4 drivers/hwmon/it87.c Jean Delvare 2010-10-28 2151 } 44c1bcd4 drivers/hwmon/it87.c Jean Delvare 2010-10-28 2152 4573acbc drivers/hwmon/it87.c Guenter Roeck 2012-03-26 2153 data->has_temp = 0x07; 4573acbc drivers/hwmon/it87.c Guenter Roeck 2012-03-26 2154 if (sio_data->skip_temp & (1 << 2)) { 4573acbc drivers/hwmon/it87.c Guenter Roeck 2012-03-26 2155 if (sio_data->type == it8782 4573acbc drivers/hwmon/it87.c Guenter Roeck 2012-03-26 2156 && !(it87_read_value(data, IT87_REG_TEMP_EXTRA) & 0x80)) 4573acbc drivers/hwmon/it87.c Guenter Roeck 2012-03-26 2157 data->has_temp &= ~(1 << 2); 4573acbc drivers/hwmon/it87.c Guenter Roeck 2012-03-26 2158 } 4573acbc drivers/hwmon/it87.c Guenter Roeck 2012-03-26 2159 ^1da177e drivers/i2c/chips/it87.c Linus Torvalds 2005-04-16 2160 /* Initialize the IT87 chip */ b74f3fdd drivers/hwmon/it87.c corentin.labbe 2007-06-13 2161 it87_init_device(pdev); ^1da177e drivers/i2c/chips/it87.c Linus Torvalds 2005-04-16 2162 ^1da177e drivers/i2c/chips/it87.c Linus Torvalds 2005-04-16 2163 /* Register sysfs hooks */ 5f2dc798 drivers/hwmon/it87.c Jean Delvare 2010-03-05 2164 err = sysfs_create_group(&dev->kobj, &it87_group); 5f2dc798 drivers/hwmon/it87.c Jean Delvare 2010-03-05 2165 if (err) 62a1d05f drivers/hwmon/it87.c Guenter Roeck 2012-03-24 2166 return err; 17d648bf drivers/hwmon/it87.c Jean Delvare 2006-08-28 2167 6f1a578c drivers/hwmon/it87.c Rudolf Marek 2013-12-02 2168 for (i = 0; i < 10; i++) { 9172b5d1 drivers/hwmon/it87.c Guenter Roeck 2012-03-24 2169 if (sio_data->skip_in & (1 << i)) 9172b5d1 drivers/hwmon/it87.c Guenter Roeck 2012-03-24 2170 continue; 9172b5d1 drivers/hwmon/it87.c Guenter Roeck 2012-03-24 2171 err = sysfs_create_group(&dev->kobj, &it87_group_in[i]); 9172b5d1 drivers/hwmon/it87.c Guenter Roeck 2012-03-24 2172 if (err) 62a1d05f drivers/hwmon/it87.c Guenter Roeck 2012-03-24 2173 goto error; 9172b5d1 drivers/hwmon/it87.c Guenter Roeck 2012-03-24 @2174 if (sio_data->beep_pin && it87_attributes_in_beep[i]) { 9172b5d1 drivers/hwmon/it87.c Guenter Roeck 2012-03-24 2175 err = sysfs_create_file(&dev->kobj, 9172b5d1 drivers/hwmon/it87.c Guenter Roeck 2012-03-24 @2176 it87_attributes_in_beep[i]); 9172b5d1 drivers/hwmon/it87.c Guenter Roeck 2012-03-24 2177 if (err) 62a1d05f drivers/hwmon/it87.c Guenter Roeck 2012-03-24 2178 goto error; 9172b5d1 drivers/hwmon/it87.c Guenter Roeck 2012-03-24 2179 } --- 0-DAY kernel build testing backend Open Source Technology Center http://lists.01.org/mailman/listinfo/kbuild Intel Corporation _______________________________________________ kbuild mailing list kbuild@lists.01.org https://lists.01.org/mailman/listinfo/kbuild