static int __init omap4_i2c_init(void) { int i2c_bus_devices = 0; omap_i2c_hwspinlock_init(1, 0, &mapphone_i2c_1_bus_pdata); omap_i2c_hwspinlock_init(2, 1, &mapphone_i2c_2_bus_pdata); omap_i2c_hwspinlock_init(3, 2, &mapphone_i2c_3_bus_pdata); omap_i2c_hwspinlock_init(4, 3, &mapphone_i2c_4_bus_pdata); omap_register_i2c_bus_board_data(1, &mapphone_i2c_1_bus_pdata); omap_register_i2c_bus_board_data(2, &mapphone_i2c_2_bus_pdata); omap_register_i2c_bus_board_data(3, &mapphone_i2c_3_bus_pdata); omap_register_i2c_bus_board_data(4, &mapphone_i2c_4_bus_pdata); /* Populate I2C bus 1 devices */ i2c_bus_devices = initialize_i2c_bus_info( 1, mapphone_i2c_bus1_board_info, I2C_BUS_MAX_DEVICES, mapphone_i2c_1_boardinfo, ARRAY_SIZE(mapphone_i2c_1_boardinfo)); omap_register_i2c_bus(1, 400, mapphone_i2c_bus1_board_info, i2c_bus_devices); /* Populate I2C bus 2 devices */ i2c_bus_devices = initialize_i2c_bus_info( 2, mapphone_i2c_bus2_board_info, I2C_BUS_MAX_DEVICES, mapphone_i2c_2_boardinfo, ARRAY_SIZE(mapphone_i2c_2_boardinfo)); omap_register_i2c_bus(2, 400, mapphone_i2c_bus2_board_info, i2c_bus_devices); /* Populate I2C bus 3 devices */ i2c_bus_devices = initialize_i2c_bus_info( 3, mapphone_i2c_bus3_board_info, I2C_BUS_MAX_DEVICES, mapphone_i2c_3_boardinfo, ARRAY_SIZE(mapphone_i2c_3_boardinfo)); omap_register_i2c_bus(3, 400, mapphone_i2c_bus3_board_info, i2c_bus_devices); /* Populate I2C bus 4 devices */ i2c_bus_devices = initialize_i2c_bus_info( 4, mapphone_i2c_bus4_board_info, I2C_BUS_MAX_DEVICES, mapphone_i2c_4_boardinfo, ARRAY_SIZE(mapphone_i2c_4_boardinfo)); omap_register_i2c_bus(4, 400, mapphone_i2c_bus4_board_info, i2c_bus_devices); /* * This will allow unused regulator to be shutdown. This flag * should be set in the board file. Before regulators are registered. */ regulator_has_full_constraints(); return 0; }
static int __init mapphone_i2c_init(void) { int i2c_bus_devices = 0; initialize_device_specific_data(); /* Populate I2C bus 1 devices */ i2c_bus_devices = initialize_i2c_bus_info( 1, mapphone_i2c_bus1_board_info, I2C_BUS_MAX_DEVICES, mapphone_i2c_bus1_master_board_info, ARRAY_SIZE(mapphone_i2c_bus1_master_board_info)); if (i2c_bus_devices != 0) omap_register_i2c_bus( 1, 400, mapphone_i2c_bus1_board_info, i2c_bus_devices); /* Populate I2C bus 2 devices */ i2c_bus_devices = initialize_i2c_bus_info( 2, mapphone_i2c_bus2_board_info, I2C_BUS_MAX_DEVICES, mapphone_i2c_bus2_master_board_info, ARRAY_SIZE(mapphone_i2c_bus2_master_board_info)); if (i2c_bus_devices != 0) omap_register_i2c_bus( 2, 400, mapphone_i2c_bus2_board_info, i2c_bus_devices); /* Populate I2C bus 3 devices */ i2c_bus_devices = initialize_i2c_bus_info( 3, mapphone_i2c_bus3_board_info, I2C_BUS_MAX_DEVICES, mapphone_i2c_bus3_master_board_info, ARRAY_SIZE(mapphone_i2c_bus3_master_board_info)); if (i2c_bus_devices != 0) omap_register_i2c_bus( 3, 400, mapphone_i2c_bus3_board_info, i2c_bus_devices); return 0; }