Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6

* 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
i2c/m41t00: Do not forget to write year
i2c-mv64xxx: Fix random oops at boot
i2c: Migration aids for i2c_adapter.dev removal
i2c-pnx: Add entry to MAINTAINERS
i2c-pnx: Fix interrupt handler, get rid of EARLY config option

+51 -21
+17
Documentation/feature-removal-schedule.txt
··· 226 226 227 227 --------------------------- 228 228 229 + What: i2c_adapter.dev 230 + i2c_adapter.list 231 + When: July 2007 232 + Why: Superfluous, given i2c_adapter.class_dev: 233 + * The "dev" was a stand-in for the physical device node that legacy 234 + drivers would not have; but now it's almost always present. Any 235 + remaining legacy drivers must upgrade (they now trigger warnings). 236 + * The "list" duplicates class device children. 237 + The delay in removing this is so upgraded lm_sensors and libsensors 238 + can get deployed. (Removal causes minor changes in the sysfs layout, 239 + notably the location of the adapter type name and parenting the i2c 240 + client hardware directly from their controller.) 241 + Who: Jean Delvare <khali@linux-fr.org>, 242 + David Brownell <dbrownell@users.sourceforge.net> 243 + 244 + --------------------------- 245 + 229 246 What: IPv4 only connection tracking/NAT/helpers 230 247 When: 2.6.22 231 248 Why: The new layer 3 independant connection tracking replaces the old
+6
MAINTAINERS
··· 2579 2579 M: ambx1@neo.rr.com 2580 2580 S: Maintained 2581 2581 2582 + PNXxxxx I2C DRIVER 2583 + P: Vitaly Wool 2584 + M: vitalywool@gmail.com 2585 + L: i2c@lm-sensors.org 2586 + S: Maintained 2587 + 2582 2588 PPP PROTOCOL DRIVERS AND COMPRESSORS 2583 2589 P: Paul Mackerras 2584 2590 M: paulus@samba.org
-9
drivers/i2c/busses/Kconfig
··· 564 564 This driver can also be built as a module. If so, the module 565 565 will be called i2c-pnx. 566 566 567 - config I2C_PNX_EARLY 568 - bool "Early initialization for I2C on PNXxxxx" 569 - depends on I2C_PNX=y 570 - help 571 - Under certain circumstances one may need to make sure I2C on PNXxxxx 572 - is initialized earlier than some other driver that depends on it 573 - (for instance, that might be USB in case of PNX4008). With this 574 - option turned on you can guarantee that. 575 - 576 567 endmenu
+2 -2
drivers/i2c/busses/i2c-mv64xxx.c
··· 529 529 platform_set_drvdata(pd, drv_data); 530 530 i2c_set_adapdata(&drv_data->adapter, drv_data); 531 531 532 + mv64xxx_i2c_hw_init(drv_data); 533 + 532 534 if (request_irq(drv_data->irq, mv64xxx_i2c_intr, 0, 533 535 MV64XXX_I2C_CTLR_NAME, drv_data)) { 534 536 dev_err(&drv_data->adapter.dev, ··· 543 541 "mv64xxx: Can't add i2c adapter, rc: %d\n", -rc); 544 542 goto exit_free_irq; 545 543 } 546 - 547 - mv64xxx_i2c_hw_init(drv_data); 548 544 549 545 return 0; 550 546
+1 -6
drivers/i2c/busses/i2c-pnx.c
··· 305 305 return 0; 306 306 } 307 307 308 - static irqreturn_t 309 - i2c_pnx_interrupt(int irq, void *dev_id, struct pt_regs *regs) 308 + static irqreturn_t i2c_pnx_interrupt(int irq, void *dev_id) 310 309 { 311 310 u32 stat, ctl; 312 311 struct i2c_adapter *adap = dev_id; ··· 698 699 MODULE_DESCRIPTION("I2C driver for Philips IP3204-based I2C busses"); 699 700 MODULE_LICENSE("GPL"); 700 701 701 - #ifdef CONFIG_I2C_PNX_EARLY 702 702 /* We need to make sure I2C is initialized before USB */ 703 703 subsys_initcall(i2c_adap_pnx_init); 704 - #else 705 - mudule_init(i2c_adap_pnx_init); 706 - #endif 707 704 module_exit(i2c_adap_pnx_exit);
+1
drivers/i2c/chips/m41t00.c
··· 209 209 buf[m41t00_chip->hour] = (buf[m41t00_chip->hour] & ~0x3f) | (hour& 0x3f); 210 210 buf[m41t00_chip->day] = (buf[m41t00_chip->day] & ~0x3f) | (day & 0x3f); 211 211 buf[m41t00_chip->mon] = (buf[m41t00_chip->mon] & ~0x1f) | (mon & 0x1f); 212 + buf[m41t00_chip->year] = year; 212 213 213 214 if (i2c_master_send(save_client, wbuf, 9) < 0) 214 215 dev_err(&save_client->dev, "m41t00_set: Write error\n");
+24 -4
drivers/i2c/i2c-core.c
··· 95 95 .bus = &i2c_bus_type, 96 96 }; 97 97 98 + /* ------------------------------------------------------------------------- */ 99 + 100 + /* I2C bus adapters -- one roots each I2C or SMBUS segment */ 101 + 98 102 static void i2c_adapter_class_dev_release(struct class_device *dev) 99 103 { 100 104 struct i2c_adapter *adap = class_dev_to_i2c_adapter(dev); 101 105 complete(&adap->class_dev_released); 102 106 } 103 107 108 + static ssize_t i2c_adapter_show_name(struct class_device *cdev, char *buf) 109 + { 110 + struct i2c_adapter *adap = class_dev_to_i2c_adapter(cdev); 111 + return sprintf(buf, "%s\n", adap->name); 112 + } 113 + 114 + static struct class_device_attribute i2c_adapter_attrs[] = { 115 + __ATTR(name, S_IRUGO, i2c_adapter_show_name, NULL), 116 + { }, 117 + }; 118 + 104 119 struct class i2c_adapter_class = { 105 - .owner = THIS_MODULE, 106 - .name = "i2c-adapter", 107 - .release = &i2c_adapter_class_dev_release, 120 + .owner = THIS_MODULE, 121 + .name = "i2c-adapter", 122 + .class_dev_attrs = i2c_adapter_attrs, 123 + .release = &i2c_adapter_class_dev_release, 108 124 }; 109 125 110 126 static ssize_t show_adapter_name(struct device *dev, struct device_attribute *attr, char *buf) ··· 191 175 * If the parent pointer is not set up, 192 176 * we add this adapter to the host bus. 193 177 */ 194 - if (adap->dev.parent == NULL) 178 + if (adap->dev.parent == NULL) { 195 179 adap->dev.parent = &platform_bus; 180 + printk(KERN_WARNING "**WARNING** I2C adapter driver [%s] " 181 + "forgot to specify physical device; fix it!\n", 182 + adap->name); 183 + } 196 184 sprintf(adap->dev.bus_id, "i2c-%d", adap->nr); 197 185 adap->dev.driver = &i2c_adapter_driver; 198 186 adap->dev.release = &i2c_adapter_dev_release;