summaryrefslogtreecommitdiffstats
path: root/arch/avr32/mach-at32ap/at32ap700x.c
diff options
context:
space:
mode:
authorBen Nizette2008-02-07 05:28:57 +0100
committerHaavard Skinnemoen2008-04-20 02:40:06 +0200
commit040b28fc0a69281a46adcebd6b31dd74da4a8d49 (patch)
tree9ce41af956c245292765f7ea5ece3ac7e9230b9b /arch/avr32/mach-at32ap/at32ap700x.c
parentavr32: cleanup - use _AC macro to define PAGE_SIZE (diff)
downloadkernel-qcow2-linux-040b28fc0a69281a46adcebd6b31dd74da4a8d49.tar.gz
kernel-qcow2-linux-040b28fc0a69281a46adcebd6b31dd74da4a8d49.tar.xz
kernel-qcow2-linux-040b28fc0a69281a46adcebd6b31dd74da4a8d49.zip
avr32: pass i2c board info through at32_add_device_twi
New-style I2C drivers require that motherboard-mounted I2C devices are registered with the I2C core, typically at arch_initcall time. This can be done nice and neat by passing the struct i2c_board_info[] through at32_add_device_twi just like we do for the SPI board info. While we've got the hood up, remove a duplicate declaration of at32_add_device_twi() in board.h. [hskinnemoen@atmel.com: add missing i2c_board_info forward-declaration] Signed-Off-By: Ben Nizette <bn@niasdigital.com> Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Diffstat (limited to 'arch/avr32/mach-at32ap/at32ap700x.c')
-rw-r--r--arch/avr32/mach-at32ap/at32ap700x.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/avr32/mach-at32ap/at32ap700x.c b/arch/avr32/mach-at32ap/at32ap700x.c
index cb47afc9fffc..6302bfd58514 100644
--- a/arch/avr32/mach-at32ap/at32ap700x.c
+++ b/arch/avr32/mach-at32ap/at32ap700x.c
@@ -990,7 +990,9 @@ static struct clk atmel_twi0_pclk = {
.index = 2,
};
-struct platform_device *__init at32_add_device_twi(unsigned int id)
+struct platform_device *__init at32_add_device_twi(unsigned int id,
+ struct i2c_board_info *b,
+ unsigned int n)
{
struct platform_device *pdev;
@@ -1010,6 +1012,9 @@ struct platform_device *__init at32_add_device_twi(unsigned int id)
atmel_twi0_pclk.dev = &pdev->dev;
+ if (b)
+ i2c_register_board_info(id, b, n);
+
platform_device_add(pdev);
return pdev;