i2c: Convert most new-style drivers to use module aliasing
[linux-2.6-block.git] / arch / arm / mach-iop32x / glantank.c
index 2b086ab2668ca24bd990ef0219c2385c64f4921a..d4fca75ce5426e88e23c88d5b0836fe817601c0e 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Board support code for the GLAN Tank.
  *
- * Copyright (C) 2006 Martin Michlmayr <tbm@cyrius.com>
+ * Copyright (C) 2006, 2007 Martin Michlmayr <tbm@cyrius.com>
  * Copyright (C) 2006 Lennert Buytenhek <buytenh@wantstofly.org>
  *
  * This program is free software; you can redistribute it and/or modify it
 
 #include <linux/mm.h>
 #include <linux/init.h>
+#include <linux/f75375s.h>
 #include <linux/kernel.h>
 #include <linux/pci.h>
+#include <linux/pm.h>
 #include <linux/string.h>
 #include <linux/slab.h>
 #include <linux/serial_core.h>
 #include <linux/serial_8250.h>
 #include <linux/mtd/physmap.h>
+#include <linux/i2c.h>
 #include <linux/platform_device.h>
 #include <asm/hardware.h>
 #include <asm/io.h>
@@ -118,7 +121,7 @@ subsys_initcall(glantank_pci_init);
  * GLAN Tank machine initialization.
  */
 static struct physmap_flash_data glantank_flash_data = {
-       .width          = 1,
+       .width          = 2,
 };
 
 static struct resource glantank_flash_resource = {
@@ -166,6 +169,21 @@ static struct platform_device glantank_serial_device = {
        .resource       = &glantank_uart_resource,
 };
 
+static struct f75375s_platform_data glantank_f75375s = {
+       .pwm            = { 255, 255 },
+       .pwm_enable     = { 0, 0 },
+};
+
+static struct i2c_board_info __initdata glantank_i2c_devices[] = {
+       {
+               I2C_BOARD_INFO("rs5c372a", 0x32),
+       },
+       {
+               I2C_BOARD_INFO("f75375", 0x2e),
+               .platform_data = &glantank_f75375s,
+       },
+};
+
 static void glantank_power_off(void)
 {
        __raw_writeb(0x01, 0xfe8d0004);
@@ -183,6 +201,9 @@ static void __init glantank_init_machine(void)
        platform_device_register(&iop3xx_dma_0_channel);
        platform_device_register(&iop3xx_dma_1_channel);
 
+       i2c_register_board_info(0, glantank_i2c_devices,
+               ARRAY_SIZE(glantank_i2c_devices));
+
        pm_power_off = glantank_power_off;
 }