diff options
Diffstat (limited to 'arch/arm/mach-omap2/gpmc-smsc911x.c')
| -rw-r--r-- | arch/arm/mach-omap2/gpmc-smsc911x.c | 65 | 
1 files changed, 2 insertions, 63 deletions
diff --git a/arch/arm/mach-omap2/gpmc-smsc911x.c b/arch/arm/mach-omap2/gpmc-smsc911x.c index 5e5880d6d09..b6c77be3e8f 100644 --- a/arch/arm/mach-omap2/gpmc-smsc911x.c +++ b/arch/arm/mach-omap2/gpmc-smsc911x.c @@ -19,15 +19,11 @@  #include <linux/interrupt.h>  #include <linux/io.h>  #include <linux/smsc911x.h> -#include <linux/regulator/fixed.h> -#include <linux/regulator/machine.h>  #include <plat/board.h>  #include <plat/gpmc.h>  #include <plat/gpmc-smsc911x.h> -static struct omap_smsc911x_platform_data *gpmc_cfg; -  static struct resource gpmc_smsc911x_resources[] = {  	[0] = {  		.flags		= IORESOURCE_MEM, @@ -41,51 +37,6 @@ static struct smsc911x_platform_config gpmc_smsc911x_config = {  	.phy_interface	= PHY_INTERFACE_MODE_MII,  	.irq_polarity	= SMSC911X_IRQ_POLARITY_ACTIVE_LOW,  	.irq_type	= SMSC911X_IRQ_TYPE_OPEN_DRAIN, -	.flags		= SMSC911X_USE_16BIT, -}; - -static struct regulator_consumer_supply gpmc_smsc911x_supply[] = { -	REGULATOR_SUPPLY("vddvario", "smsc911x.0"), -	REGULATOR_SUPPLY("vdd33a", "smsc911x.0"), -}; - -/* Generic regulator definition to satisfy smsc911x */ -static struct regulator_init_data gpmc_smsc911x_reg_init_data = { -	.constraints = { -		.min_uV			= 3300000, -		.max_uV			= 3300000, -		.valid_modes_mask	= REGULATOR_MODE_NORMAL -					| REGULATOR_MODE_STANDBY, -		.valid_ops_mask		= REGULATOR_CHANGE_MODE -					| REGULATOR_CHANGE_STATUS, -	}, -	.num_consumer_supplies	= ARRAY_SIZE(gpmc_smsc911x_supply), -	.consumer_supplies	= gpmc_smsc911x_supply, -}; - -static struct fixed_voltage_config gpmc_smsc911x_fixed_reg_data = { -	.supply_name		= "gpmc_smsc911x", -	.microvolts		= 3300000, -	.gpio			= -EINVAL, -	.startup_delay		= 0, -	.enable_high		= 0, -	.enabled_at_boot	= 1, -	.init_data		= &gpmc_smsc911x_reg_init_data, -}; - -/* - * Platform device id of 42 is a temporary fix to avoid conflicts - * with other reg-fixed-voltage devices. The real fix should - * involve the driver core providing a way of dynamically - * assigning a unique id on registration for platform devices - * in the same name space. - */ -static struct platform_device gpmc_smsc911x_regulator = { -	.name		= "reg-fixed-voltage", -	.id		= 42, -	.dev = { -		.platform_data	= &gpmc_smsc911x_fixed_reg_data, -	},  };  /* @@ -93,23 +44,12 @@ static struct platform_device gpmc_smsc911x_regulator = {   * assume that pin multiplexing is done in the board-*.c file,   * or in the bootloader.   */ -void __init gpmc_smsc911x_init(struct omap_smsc911x_platform_data *board_data) +void __init gpmc_smsc911x_init(struct omap_smsc911x_platform_data *gpmc_cfg)  {  	struct platform_device *pdev;  	unsigned long cs_mem_base;  	int ret; -	gpmc_cfg = board_data; - -	if (!gpmc_cfg->id) { -		ret = platform_device_register(&gpmc_smsc911x_regulator); -		if (ret < 0) { -			pr_err("Unable to register smsc911x regulators: %d\n", -			       ret); -			return; -		} -	} -  	if (gpmc_cs_request(gpmc_cfg->cs, SZ_16M, &cs_mem_base) < 0) {  		pr_err("Failed to request GPMC mem region\n");  		return; @@ -139,8 +79,7 @@ void __init gpmc_smsc911x_init(struct omap_smsc911x_platform_data *board_data)  		gpio_set_value(gpmc_cfg->gpio_reset, 1);  	} -	if (gpmc_cfg->flags) -		gpmc_smsc911x_config.flags = gpmc_cfg->flags; +	gpmc_smsc911x_config.flags = gpmc_cfg->flags ? : SMSC911X_USE_16BIT;  	pdev = platform_device_register_resndata(NULL, "smsc911x", gpmc_cfg->id,  		 gpmc_smsc911x_resources, ARRAY_SIZE(gpmc_smsc911x_resources),  |