From: David Brownell Date: Thu, 10 May 2007 10:15:52 +0000 (-0700) Subject: i2c-at91 supports new-style i2c drivers X-Git-Tag: v2.6.22-rc1~115 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6e99806ebb33c1b4906ce4f99eec65d4962f12b9;p=linux-2.6 i2c-at91 supports new-style i2c drivers Make i2c-at91 register as i2c adapter zero (none of these chips seem to have more than one TWI controllers) to let it kick in any board-specific device declarations; also make it hotplug/coldplug. Signed-off-by: David Brownell Acked-by: Jean Delvare Cc: Andrew Victor Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/drivers/i2c/busses/i2c-at91.c b/drivers/i2c/busses/i2c-at91.c index f35156c589..1dcb714af5 100644 --- a/drivers/i2c/busses/i2c-at91.c +++ b/drivers/i2c/busses/i2c-at91.c @@ -226,13 +226,14 @@ static int __devinit at91_i2c_probe(struct platform_device *pdev) adapter->algo = &at91_algorithm; adapter->class = I2C_CLASS_HWMON; adapter->dev.parent = &pdev->dev; + /* adapter->id == 0 ... only one TWI controller for now */ platform_set_drvdata(pdev, adapter); clk_enable(twi_clk); /* enable peripheral clock */ at91_twi_hwinit(); /* initialize TWI controller */ - rc = i2c_add_adapter(adapter); + rc = i2c_add_numbered_adapter(adapter); if (rc) { dev_err(&pdev->dev, "Adapter %s registration failed\n", adapter->name); @@ -295,6 +296,9 @@ static int at91_i2c_resume(struct platform_device *pdev) #define at91_i2c_resume NULL #endif +/* work with "modprobe at91_i2c" from hotplugging or coldplugging */ +MODULE_ALIAS("at91_i2c"); + static struct platform_driver at91_i2c_driver = { .probe = at91_i2c_probe, .remove = __devexit_p(at91_i2c_remove),