rendered paste bodyIndex: arch/arm/mach-pxa/hx4700/hx4700_core.c===================================================================RCS file: /cvs/linux/kernel26/arch/arm/mach-pxa/hx4700/hx4700_core.c,vretrieving revision 1.35diff -u -r1.35 hx4700_core.c--- arch/arm/mach-pxa/hx4700/hx4700_core.c 18 Nov 2006 00:34:29 -0000 1.35+++ arch/arm/mach-pxa/hx4700/hx4700_core.c 30 Nov 2006 18:35:34 -0000@@ -74,7 +74,7 @@ int hx4700_udc_detect( void ) {- return (asic3_get_gpio_status_d(&hx4700_asic3.dev)+ return (asic3_get_gpio_status_d(&hx4700_asic3) & (1 << GPIOD_USBC_DETECT_N)) ? 0 : 1; } @@ -86,7 +86,7 @@ unsigned int statusd; int connected; - statusd = asic3_get_gpio_status_d( &hx4700_asic3.dev );+ statusd = asic3_get_gpio_status_d( &hx4700_asic3 ); connected = (statusd & (1<<GPIOD_COM_DCD)) != 0; if (connected) set_irq_type( serial_irq, IRQT_FALLING ); @@ -111,7 +111,7 @@ /* Turn off external clocks here, because hx4700_power and asic3_mmc * scared to do so to not hurt each other. (-5 mA) */ #if 0- asic3_set_clock_cdex(&hx4700_asic3.dev,+ asic3_set_clock_cdex(&hx4700_asic3, CLOCK_CDEX_EX0 | CLOCK_CDEX_EX1, 0 | 0); #endif /* 0x20c2 is HTC clock value@@ -133,7 +133,7 @@ * CLOCK_CDEX_EX0 1 * CLOCK_CDEX_EX1 0 * */- asic3_set_clock_cdex(&hx4700_asic3.dev, 0xffff, 0x21c2);+ asic3_set_clock_cdex(&hx4700_asic3, 0xffff, 0x21c2); *egpios = 0; /* turn off all egpio power */ /*@@ -192,7 +192,7 @@ OSCR4 = 0; /* This starts the timer */ } - asic3_set_extcf_select(&hx4700_asic3.dev, ASIC3_EXTCF_OWM_EN, 0);+ asic3_set_extcf_select(&hx4700_asic3, ASIC3_EXTCF_OWM_EN, 0); return 0; }@@ -289,9 +289,9 @@ return -ENODEV; /* UART IRQ */- serial_irq = asic3_irq_base( &hx4700_asic3.dev ) + ASIC3_GPIOD_IRQ_BASE+ serial_irq = asic3_irq_base( &hx4700_asic3 ) + ASIC3_GPIOD_IRQ_BASE + GPIOD_COM_DCD;- statusd = asic3_get_gpio_status_d( &hx4700_asic3.dev );+ statusd = asic3_get_gpio_status_d( &hx4700_asic3 ); connected = (statusd & (1<<GPIOD_COM_DCD)) != 0; // printk( KERN_INFO "Serial: connected=%d\n", connected ); if (connected)Index: arch/arm/mach-pxa/hx4700/hx4700_pcmcia.c===================================================================RCS file: /cvs/linux/kernel26/arch/arm/mach-pxa/hx4700/hx4700_pcmcia.c,vretrieving revision 1.22diff -u -r1.22 hx4700_pcmcia.c--- arch/arm/mach-pxa/hx4700/hx4700_pcmcia.c 18 Nov 2006 00:34:29 -0000 1.22+++ arch/arm/mach-pxa/hx4700/hx4700_pcmcia.c 30 Nov 2006 18:35:34 -0000@@ -93,7 +93,7 @@ _debug_func ("\n"); /* Turn on sleep mode, I think */- asic3_set_extcf_select(&hx4700_asic3.dev,+ asic3_set_extcf_select(&hx4700_asic3, ASIC3_EXTCF_CF0_SLEEP_MODE | ASIC3_EXTCF_CF1_SLEEP_MODE | ASIC3_EXTCF_CF0_BUF_EN | ASIC3_EXTCF_CF1_BUF_EN | ASIC3_EXTCF_CF0_PWAIT_EN | ASIC3_EXTCF_CF1_PWAIT_EN,@@ -104,10 +104,10 @@ ); mdelay(50); - statusd = asic3_get_gpio_status_d( &hx4700_asic3.dev );+ statusd = asic3_get_gpio_status_d( &hx4700_asic3 ); power_en = (statusd & (1<<GPIOD_CF_CD_N)) ? 0 : 1; - irq = hx4700_cd_irq[0].irq = asic3_irq_base( &hx4700_asic3.dev )+ irq = hx4700_cd_irq[0].irq = asic3_irq_base( &hx4700_asic3 ) + ASIC3_GPIOD_IRQ_BASE + GPIOD_CF_CD_N; skt->irq = HX4700_IRQ( CF_RNB ); @@ -150,7 +150,7 @@ { int statusd; - statusd = asic3_get_gpio_status_d( &hx4700_asic3.dev );+ statusd = asic3_get_gpio_status_d( &hx4700_asic3 ); // printk( "hx4700_pcmcia_socket_state: statusd=0x%x\n", statusd ); state->detect = (statusd & (1<<GPIOD_CF_CD_N)) ? 0 : 1; state->ready = GET_HX4700_GPIO( CF_RNB ) ? 1 : 0;@@ -162,10 +162,10 @@ #if 0 if (state->detect)- asic3_set_gpio_status_c( &hx4700_asic3.dev, 1<<GPIOC_CIOR_N,+ asic3_set_gpio_status_c( &hx4700_asic3, 1<<GPIOC_CIOR_N, 1<<GPIOC_CIOR_N ); else- asic3_set_gpio_status_c( &hx4700_asic3.dev, 1<<GPIOC_CIOR_N, 0 );+ asic3_set_gpio_status_c( &hx4700_asic3, 1<<GPIOC_CIOR_N, 0 ); #endif _debug( "detect:%d ready:%d vcc:%d\n",@@ -178,7 +178,7 @@ { int statusc; - statusc = asic3_get_gpio_status_c( &hx4700_asic3.dev );+ statusc = asic3_get_gpio_status_c( &hx4700_asic3 ); /* Silently ignore Vpp, output enable, speaker enable. */ _debug_func( "Reset:%d Vcc:%d Astatusc=0x%x\n", (state->flags & SS_RESET) ? 1 : 0, state->Vcc,@@ -187,7 +187,7 @@ hx4700_cf_reset( state->flags & SS_RESET ); if (state->Vcc == 0) { /* Turn on sleep mode, I think. No docs for these bits. */- asic3_set_extcf_select(&hx4700_asic3.dev,+ asic3_set_extcf_select(&hx4700_asic3, ASIC3_EXTCF_CF0_SLEEP_MODE | ASIC3_EXTCF_CF1_SLEEP_MODE | ASIC3_EXTCF_CF0_BUF_EN | ASIC3_EXTCF_CF1_BUF_EN | ASIC3_EXTCF_CF0_PWAIT_EN | ASIC3_EXTCF_CF1_PWAIT_EN,@@ -204,7 +204,7 @@ hx4700_egpio_enable( EGPIO4_CF_3V3_ON ); mdelay(1); /* Turn on CF stuff without messing with SD bit 14. */- asic3_set_extcf_select(&hx4700_asic3.dev,+ asic3_set_extcf_select(&hx4700_asic3, ASIC3_EXTCF_CF0_SLEEP_MODE | ASIC3_EXTCF_CF1_SLEEP_MODE | ASIC3_EXTCF_CF0_BUF_EN | ASIC3_EXTCF_CF1_BUF_EN | ASIC3_EXTCF_CF0_PWAIT_EN | ASIC3_EXTCF_CF1_PWAIT_EN,Index: arch/arm/mach-pxa/hx4700/hx4700_power.c===================================================================RCS file: /cvs/linux/kernel26/arch/arm/mach-pxa/hx4700/hx4700_power.c,vretrieving revision 1.22diff -u -r1.22 hx4700_power.c--- arch/arm/mach-pxa/hx4700/hx4700_power.c 28 Nov 2006 03:51:51 -0000 1.22+++ arch/arm/mach-pxa/hx4700/hx4700_power.c 30 Nov 2006 18:35:40 -0000@@ -382,19 +382,19 @@ w1_init(void) { /* Turn on external clocks and the OWM clock */- asic3_set_clock_cdex(&hx4700_asic3.dev,+ asic3_set_clock_cdex(&hx4700_asic3, CLOCK_CDEX_EX0 | CLOCK_CDEX_EX1 | CLOCK_CDEX_OWM, CLOCK_CDEX_EX0 | CLOCK_CDEX_EX1 | CLOCK_CDEX_OWM); mdelay(1); - asic3_set_extcf_reset(&hx4700_asic3.dev, (1 << 6), (1 << 6));+ asic3_set_extcf_reset(&hx4700_asic3, (1 << 6), (1 << 6)); mdelay(1);- asic3_set_extcf_reset(&hx4700_asic3.dev, (1 << 6), 0);+ asic3_set_extcf_reset(&hx4700_asic3, (1 << 6), 0); mdelay(1); /* Clear OWM_SMB, set OWM_EN */- asic3_set_extcf_select(&hx4700_asic3.dev,+ asic3_set_extcf_select(&hx4700_asic3, ASIC3_EXTCF_OWM_SMB | ASIC3_EXTCF_OWM_EN, 0 | ASIC3_EXTCF_OWM_EN); @@ -609,7 +609,7 @@ if(!module_data.initialized) return; - retval = asic3_get_gpio_status_d( &hx4700_asic3.dev );+ retval = asic3_get_gpio_status_d( &hx4700_asic3 ); ac_in = (retval & (1<<GPIOD_AC_IN_N)) == 0; usb_in = (retval & (1<<GPIOD_USBC_DETECT_N)) == 0; printk( KERN_INFO "hx4700 power_change: ac_in=%d\n", ac_in );@@ -741,7 +741,7 @@ } - module_data.w1_irq = asic3_irq_base(&hx4700_asic3.dev) + ASIC3_OWM_IRQ;+ module_data.w1_irq = asic3_irq_base(&hx4700_asic3) + ASIC3_OWM_IRQ; retval = request_irq(module_data.w1_irq, w1_isr, SA_INTERRUPT, driver_name, &module_data); if(retval) { printk(KERN_NOTICE "%s: Unable to get interrupt %d: %d\n",@@ -811,9 +811,9 @@ return -ENODEV; } - module_data.usb_irq = asic3_irq_base( &hx4700_asic3.dev ) + ASIC3_GPIOD_IRQ_BASE+ module_data.usb_irq = asic3_irq_base( &hx4700_asic3 ) + ASIC3_GPIOD_IRQ_BASE + GPIOD_USBC_DETECT_N;- module_data.ac_irq = asic3_irq_base( &hx4700_asic3.dev ) + ASIC3_GPIOD_IRQ_BASE+ module_data.ac_irq = asic3_irq_base( &hx4700_asic3 ) + ASIC3_GPIOD_IRQ_BASE + GPIOD_AC_IN_N; module_data.initialized = 1; @@ -846,12 +846,12 @@ { /* Turn off OWM clock. I hate to touch the others because they might be * used by other devices like MMC. */- asic3_set_clock_cdex(&hx4700_asic3.dev,+ asic3_set_clock_cdex(&hx4700_asic3, /* CLOCK_CDEX_EX0 | CLOCK_CDEX_EX1 | */ CLOCK_CDEX_OWM, /* CLOCK_CDEX_EX0 | CLOCK_CDEX_EX1 | */ 0); /* Clear OWM_EN */- asic3_set_extcf_select(&hx4700_asic3.dev,+ asic3_set_extcf_select(&hx4700_asic3, ASIC3_EXTCF_OWM_EN, 0); mdelay(1);@@ -923,7 +923,7 @@ disable_irq(module_data.w1_irq); enable_irq(module_data.w1_irq); /* Clear OWM_SMB, set OWM_EN */- asic3_set_extcf_select(&hx4700_asic3.dev, ASIC3_EXTCF_OWM_EN, ASIC3_EXTCF_OWM_EN);+ asic3_set_extcf_select(&hx4700_asic3, ASIC3_EXTCF_OWM_EN, ASIC3_EXTCF_OWM_EN); return 0; } Index: arch/arm/mach-pxa/hx4700/hx4700_ts.c===================================================================RCS file: /cvs/linux/kernel26/arch/arm/mach-pxa/hx4700/hx4700_ts.c,vretrieving revision 1.31diff -u -r1.31 hx4700_ts.c--- arch/arm/mach-pxa/hx4700/hx4700_ts.c 20 Nov 2006 21:21:56 -0000 1.31+++ arch/arm/mach-pxa/hx4700/hx4700_ts.c 30 Nov 2006 18:35:40 -0000@@ -143,7 +143,7 @@ /* * alternate between rising and falling, based on pin status */- statusd = asic3_get_gpio_status_d( &hx4700_asic3.dev );+ statusd = asic3_get_gpio_status_d( &hx4700_asic3 ); key->rising = (statusd & key->gpiod_bit) == 0; set_irq_type( irq, key->rising ? IRQT_RISING : IRQT_FALLING ); input_report_key( ts_data->input, key->key, key->rising );@@ -463,7 +463,7 @@ asic3_key[0].gpiod_bit = (1<<GPIOD_KEY_AP2_N); asic3_key[0].rising = 0; asic3_key[0].key = _KEY_CALENDAR;- irq = asic3_irq_base( &hx4700_asic3.dev ) + ASIC3_GPIOD_IRQ_BASE+ irq = asic3_irq_base( &hx4700_asic3 ) + ASIC3_GPIOD_IRQ_BASE + GPIOD_KEY_AP2_N; err = request_irq( irq, key_isr, SA_INTERRUPT, "HX4700 AP2 Key", (void *)&asic3_key[0] );@@ -478,7 +478,7 @@ asic3_key[1].gpiod_bit = (1<<GPIOD_KEY_AP4_N); asic3_key[1].rising = 0; asic3_key[1].key = _KEY_HOMEPAGE;- irq = asic3_irq_base( &hx4700_asic3.dev ) + ASIC3_GPIOD_IRQ_BASE+ irq = asic3_irq_base( &hx4700_asic3 ) + ASIC3_GPIOD_IRQ_BASE + GPIOD_KEY_AP4_N; err = request_irq( irq, key_isr, SA_INTERRUPT, "HX4700 AP4 Key", (void *)&asic3_key[1] );@@ -493,7 +493,7 @@ asic3_key[2].gpiod_bit = (1<<GPIOD_AUD_RECORD_N); asic3_key[2].rising = 0; asic3_key[2].key = _KEY_RECORD;- irq = asic3_irq_base( &hx4700_asic3.dev ) + ASIC3_GPIOD_IRQ_BASE+ irq = asic3_irq_base( &hx4700_asic3 ) + ASIC3_GPIOD_IRQ_BASE + GPIOD_AUD_RECORD_N; err = request_irq( irq, key_isr, SA_INTERRUPT, "HX4700 Record", (void *)&asic3_key[2] );Index: drivers/input/keyboard/asic3_keys.c===================================================================RCS file: /cvs/linux/kernel26/drivers/input/keyboard/asic3_keys.c,vretrieving revision 1.7diff -u -r1.7 asic3_keys.c--- drivers/input/keyboard/asic3_keys.c 28 Nov 2006 20:26:11 -0000 1.7+++ drivers/input/keyboard/asic3_keys.c 30 Nov 2006 18:35:47 -0000@@ -30,11 +30,11 @@ struct asic3_keys_platform_data *pdata = data; int i, base_irq; - base_irq = asic3_irq_base(pdata->asic3_dev);+ base_irq = asic3_irq_base(pdata->asic3_pdev); for (i = 0; i < pdata->nbuttons; i++) { struct asic3_keys_button *b = &pdata->buttons[i]; if ((base_irq + b->gpio) == irq) {- int state = !!asic3_get_gpio_bit(pdata->asic3_dev, b->gpio);+ int state = !!asic3_get_gpio_bit(pdata->asic3_pdev, b->gpio); if (state) set_irq_type(irq, IRQ_TYPE_EDGE_FALLING); else@@ -61,7 +61,7 @@ external_input = 0; } - base_irq = asic3_irq_base(pdata->asic3_dev);+ base_irq = asic3_irq_base(pdata->asic3_pdev); for (i = 0; i < pdata->nbuttons; i++) { struct asic3_keys_button *b = &pdata->buttons[i];@@ -83,7 +83,7 @@ struct asic3_keys_platform_data *pdata = pdev->dev.platform_data; int i, base_irq; - base_irq = asic3_irq_base(pdata->asic3_dev);+ base_irq = asic3_irq_base(pdata->asic3_pdev); for (i = 0; i < pdata->nbuttons; i++) { free_irq(base_irq + pdata->buttons[i].gpio, NULL); }Index: drivers/leds/leds-asic3.c===================================================================RCS file: /cvs/linux/kernel26/drivers/leds/leds-asic3.c,vretrieving revision 1.3diff -u -r1.3 leds-asic3.c--- drivers/leds/leds-asic3.c 29 Nov 2006 17:49:39 -0000 1.3+++ drivers/leds/leds-asic3.c 30 Nov 2006 18:35:47 -0000@@ -34,28 +34,28 @@ struct asic3_led *led = container_of(led_cdev, struct asic3_led, led_cdev); struct asic3_leds_machinfo *machinfo = led->machinfo;- struct device *asic3_dev = &machinfo->asic3_pdev->dev;+ struct platform_device *asic3_pdev = &machinfo->asic3_pdev; dbg("%s:%s %d-%s %d\n", __FILE__, __FUNCTION__, led->hw_num, led->led_cdev.name, b); if (b == LED_OFF) {- asic3_set_led(asic3_dev, led->hw_num, 0, 16);- asic3_set_gpio_out_c(asic3_dev, led->hw_num, 0);+ asic3_set_led(asic3_pdev, led->hw_num, 0, 16);+ asic3_set_gpio_out_c(asic3_pdev, led->hw_num, 0); } else {- asic3_set_gpio_out_c(asic3_dev, led->hw_num, led->hw_num);+ asic3_set_gpio_out_c(asic3_pdev, led->hw_num, led->hw_num); #ifdef CONFIG_LEDS_TRIGGER_TIMER_ASIC3 if (led_cdev->trigger && led_cdev->trigger->is_led_supported && led_cdev->trigger->is_led_supported(led_cdev)) { struct asic3_timer_data *td = led_cdev->trigger_data; if (!td) return;- asic3_set_led(asic3_dev, led->hw_num, td->delay_on/8,+ asic3_set_led(asic3_pdev, led->hw_num, td->delay_on/8, (td->delay_on + td->delay_off)/8); } else #endif- asic3_set_led(asic3_dev, led->hw_num, 16, 16);+ asic3_set_led(asic3_pdev, led->hw_num, 16, 16); } return;@@ -72,7 +72,7 @@ // Turn on clocks early, for the case if trigger would enable // led immediately after led_classdev_register().- asic3_set_clock_cdex(&machinfo->asic3_pdev->dev,+ asic3_set_clock_cdex(&machinfo->asic3_pdev, CLOCK_CDEX_LED0 | CLOCK_CDEX_LED1 | CLOCK_CDEX_LED2, CLOCK_CDEX_LED0 | CLOCK_CDEX_LED1 | CLOCK_CDEX_LED2); @@ -92,7 +92,7 @@ out_err: while (--i >= 0) led_classdev_unregister(&leds[i].led_cdev); - asic3_set_clock_cdex(&machinfo->asic3_pdev->dev,+ asic3_set_clock_cdex(&machinfo->asic3_pdev, CLOCK_CDEX_LED0 | CLOCK_CDEX_LED1 | CLOCK_CDEX_LED2, 0 | 0 | 0); @@ -111,7 +111,7 @@ for (i = 0; i < machinfo->num_leds; i++) led_classdev_unregister(&leds[i].led_cdev); - asic3_set_clock_cdex(&machinfo->asic3_pdev->dev,+ asic3_set_clock_cdex(&machinfo->asic3_pdev, CLOCK_CDEX_LED0 | CLOCK_CDEX_LED1 | CLOCK_CDEX_LED2, 0 | 0 | 0); Index: drivers/mmc/asic3_mmc.c===================================================================RCS file: /cvs/linux/kernel26/drivers/mmc/asic3_mmc.c,vretrieving revision 1.18diff -u -r1.18 asic3_mmc.c--- drivers/mmc/asic3_mmc.c 2 Sep 2006 23:55:15 -0000 1.18+++ drivers/mmc/asic3_mmc.c 30 Nov 2006 18:35:48 -0000@@ -62,7 +62,7 @@ struct asic3_mmc_host { void *ctl_base;- struct device *asic3_dev; /* asic3 device */+ struct platform_device *asic3_pdev; /* asic3 device */ unsigned long bus_shift; struct mmc_command *cmd; struct mmc_request *mrq;@@ -656,28 +656,28 @@ /* ASIC3_MMC_REG(host, SD_CTRL, TransactionCtrl) = 0x1000; */ - asic3_set_sdhwctrl(host->asic3_dev, ASIC3_SDHWCTRL_SDPWR, ASIC3_SDHWCTRL_SDPWR); /* turn on power at controller(?) */+ asic3_set_sdhwctrl(host->asic3_pdev, ASIC3_SDHWCTRL_SDPWR, ASIC3_SDHWCTRL_SDPWR); /* turn on power at controller(?) */ } static void-hwinit(struct asic3_mmc_host *host, struct device *dev)+hwinit(struct asic3_mmc_host *host, struct platform_device *pdev) { /* Not sure if it must be done bit by bit, but leaving as-is */- asic3_set_sdhwctrl(host->asic3_dev, ASIC3_SDHWCTRL_LEVCD, ASIC3_SDHWCTRL_LEVCD);- asic3_set_sdhwctrl(host->asic3_dev, ASIC3_SDHWCTRL_LEVWP, ASIC3_SDHWCTRL_LEVWP);- asic3_set_sdhwctrl(host->asic3_dev, ~0xfffe, 0);- asic3_set_sdhwctrl(host->asic3_dev, ~0xfffb, 0);+ asic3_set_sdhwctrl(host->asic3_pdev, ASIC3_SDHWCTRL_LEVCD, ASIC3_SDHWCTRL_LEVCD);+ asic3_set_sdhwctrl(host->asic3_pdev, ASIC3_SDHWCTRL_LEVWP, ASIC3_SDHWCTRL_LEVWP);+ asic3_set_sdhwctrl(host->asic3_pdev, ~0xfffe, 0);+ asic3_set_sdhwctrl(host->asic3_pdev, ~0xfffb, 0); - asic3_set_clock_cdex (host->asic3_dev,+ asic3_set_clock_cdex (host->asic3_pdev, CLOCK_CDEX_EX1 | CLOCK_CDEX_EX0, CLOCK_CDEX_EX1 | CLOCK_CDEX_EX0); msleep(1); - asic3_set_clock_sel (host->asic3_dev,+ asic3_set_clock_sel (host->asic3_pdev, ASIC3_MMC_DRIVER_CLOCK_SEL_MASK, ASIC3_MMC_DRIVER_CLOCK_SEL_BITS); - asic3_set_clock_cdex (host->asic3_dev,+ asic3_set_clock_cdex (host->asic3_pdev, ASIC3_MMC_DRIVER_CLOCK_CDEX_MASK, ASIC3_MMC_DRIVER_CLOCK_CDEX_BITS); msleep(1);@@ -686,7 +686,7 @@ ASIC3_MMC_REG(host, CLOCK, CDEX) &= 0xfffb; #endif - asic3_set_extcf_select(host->asic3_dev, ASIC3_EXTCF_SD_MEM_ENABLE, ASIC3_EXTCF_SD_MEM_ENABLE);+ asic3_set_extcf_select(host->asic3_pdev, ASIC3_EXTCF_SD_MEM_ENABLE, ASIC3_EXTCF_SD_MEM_ENABLE); /* Long Delay */ if( !machine_is_h4700())@@ -697,9 +697,9 @@ #ifdef CONFIG_PM static int-mmc_suspend(struct device *dev, pm_message_t state)+mmc_suspend(struct platform_device *pdev, pm_message_t state) {- struct mmc_host *mmc = dev_get_drvdata(dev);+ struct mmc_host *mmc = platform_get_drvdata(pdev); struct asic3_mmc_host *host = mmc_priv(mmc); int ret; @@ -722,7 +722,7 @@ /* power down */ ASIC3_MMC_REG(host, SD_CONFIG, SDHC_Power1) = 0; - asic3_set_clock_cdex (host->asic3_dev,+ asic3_set_clock_cdex (host->asic3_pdev, CLOCK_CDEX_SD_HOST | CLOCK_CDEX_SD_BUS, 0); #if 0 /* disable core clock */@@ -731,20 +731,20 @@ #endif /* Put in suspend mode */- asic3_set_sdhwctrl(host->asic3_dev, ASIC3_SDHWCTRL_SUSPEND, ASIC3_SDHWCTRL_SUSPEND);+ asic3_set_sdhwctrl(host->asic3_pdev, ASIC3_SDHWCTRL_SUSPEND, ASIC3_SDHWCTRL_SUSPEND); return 0; } static int-mmc_resume(struct device *dev)+mmc_resume(struct platform_device *pdev) {- struct mmc_host *mmc = dev_get_drvdata(dev);+ struct mmc_host *mmc = platform_get_drvdata(pdev); struct asic3_mmc_host *host = mmc_priv(mmc); printk(KERN_INFO "%s: starting resume\n", DRIVER_NAME); - asic3_set_sdhwctrl(host->asic3_dev, ASIC3_SDHWCTRL_SUSPEND, 0);- hwinit(host, dev);+ asic3_set_sdhwctrl(host->asic3_pdev, ASIC3_SDHWCTRL_SUSPEND, 0);+ hwinit(host, pdev); /* re-enable card remove / insert interrupt */ ASIC3_MMC_REG(host, SD_CTRL, IntMaskCard) = ~(@@ -761,17 +761,16 @@ #endif static int-mmc_probe(struct device *dev)+mmc_probe(struct platform_device *pdev) { struct mmc_host *mmc; struct asic3_mmc_host *host; int retval = 0;- struct platform_device *pdev = to_platform_device (dev);- struct tmio_mmc_hwconfig *mmc_config = (struct tmio_mmc_hwconfig *)dev->platform_data;+ struct tmio_mmc_hwconfig *mmc_config = (struct tmio_mmc_hwconfig *)pdev->dev.platform_data; host = 0; - mmc = mmc_alloc_host(sizeof(struct asic3_mmc_host) + 128, dev);+ mmc = mmc_alloc_host(sizeof(struct asic3_mmc_host) + 128, &pdev->dev); if (!mmc) { retval = -ENOMEM; goto exceptional_return;@@ -779,11 +778,11 @@ host = mmc_priv(mmc); host->mmc = mmc;- dev_set_drvdata(dev, mmc);+ platform_set_drvdata(pdev, mmc); host->ctl_base = 0; host->bus_shift = mmc_config->address_shift;- host->asic3_dev = pdev->dev.parent;+ host->asic3_pdev = to_platform_device(pdev->dev.parent); host->clock_for_sd = 0; tasklet_init(&mmc_data_read_tasklet, mmc_data_transfer, (unsigned long)host);@@ -803,7 +802,7 @@ mmc->f_max = 24000000; /* ARIC: not sure what these should be */ mmc->ocr_avail = MMC_VDD_32_33; - hwinit(host, dev);+ hwinit(host, pdev); host->irq = pdev->resource[1].start;@@ -835,11 +834,11 @@ } static int-mmc_remove(struct device *dev)+mmc_remove(struct platform_device *pdev) {- struct mmc_host *mmc = dev_get_drvdata(dev);+ struct mmc_host *mmc = platform_get_drvdata(pdev); - dev_set_drvdata(dev, NULL);+ platform_set_drvdata(pdev, NULL); if (mmc) { struct asic3_mmc_host *host = mmc_priv(mmc);@@ -854,26 +853,27 @@ /* ------------------- device registration ----------------------- */ -static struct device_driver mmc_asic3_driver = {- .name = DRIVER_NAME,- .bus = &platform_bus_type,- .probe = mmc_probe,- .remove = mmc_remove,+static struct platform_driver mmc_asic3_driver = {+ .probe = mmc_probe,+ .remove = mmc_remove, #ifdef CONFIG_PM- .suspend = mmc_suspend,- .resume = mmc_resume,+ .suspend = mmc_suspend,+ .resume = mmc_resume, #endif+ .driver = {+ .name = DRIVER_NAME,+ }, }; static int __init mmc_init(void) {- driver_register(&mmc_asic3_driver);+ platform_driver_register(&mmc_asic3_driver); return 0; } static void __exit mmc_exit(void) {- driver_unregister(&mmc_asic3_driver);+ platform_driver_unregister(&mmc_asic3_driver); } late_initcall(mmc_init);Index: drivers/soc/asic3_base.c===================================================================RCS file: /cvs/linux/kernel26/drivers/soc/asic3_base.c,vretrieving revision 1.21diff -u -r1.21 asic3_base.c--- drivers/soc/asic3_base.c 19 Nov 2006 23:08:17 -0000 1.21+++ drivers/soc/asic3_base.c 30 Nov 2006 18:35:53 -0000@@ -49,29 +49,29 @@ static spinlock_t asic3_gpio_lock; -static int asic3_remove (struct device *dev);+static int asic3_remove (struct platform_device *pdev); static inline unsigned long-asic3_address (struct device *dev, unsigned int reg)+asic3_address (struct platform_device *pdev, unsigned int reg) { struct asic3_data *adata; - adata = (struct asic3_data *)dev->driver_data;+ adata = (struct asic3_data *)platform_get_drvdata(pdev); return (unsigned long)adata->mapping + (reg >> (2 - adata->bus_shift)); } void-asic3_write_register (struct device *dev, unsigned int reg, unsigned long value)+asic3_write_register (struct platform_device *pdev, unsigned int reg, unsigned long value) {- __raw_writew (value, asic3_address (dev, reg));+ __raw_writew (value, asic3_address (pdev, reg)); } EXPORT_SYMBOL(asic3_write_register); unsigned long-asic3_read_register (struct device *dev, unsigned int reg)+asic3_read_register (struct platform_device *pdev, unsigned int reg) {- return __raw_readw (asic3_address (dev, reg));+ return __raw_readw (asic3_address (pdev, reg)); } EXPORT_SYMBOL(asic3_read_register); @@ -89,20 +89,20 @@ #define ASIC3_GPIO_FN(get_fn_name, set_fn_name, REG) \ u32 \-get_fn_name (struct device *dev) \+get_fn_name (struct platform_device *pdev) \ { \- return asic3_read_register (dev, REG); \+ return asic3_read_register (pdev, REG); \ } \ EXPORT_SYMBOL( get_fn_name ); \ \ void \-set_fn_name (struct device *dev, u32 bits, u32 val) \+set_fn_name (struct platform_device *pdev, u32 bits, u32 val) \ { \ unsigned long flags; \ \ spin_lock_irqsave (&asic3_gpio_lock, flags); \- val |= (asic3_read_register (dev, REG) & ~bits); \- asic3_write_register (dev, REG, val); \+ val |= (asic3_read_register (pdev, REG) & ~bits); \+ asic3_write_register (pdev, REG, val); \ spin_unlock_irqrestore (&asic3_gpio_lock, flags); \ } \ EXPORT_SYMBOL(set_fn_name);@@ -135,18 +135,18 @@ ASIC3_GPIO_FUNCTIONS(c, C) ASIC3_GPIO_FUNCTIONS(d, D) -int asic3_get_gpio_bit(struct device *dev, int gpio)+int asic3_get_gpio_bit(struct platform_device *pdev, int gpio) { u32 mask = ASIC3_GPIO_bit(gpio); switch (gpio >> 4) { case _IPAQ_ASIC3_GPIO_BANK_A:- return asic3_get_gpio_status_a(dev) & mask;+ return asic3_get_gpio_status_a(pdev) & mask; case _IPAQ_ASIC3_GPIO_BANK_B:- return asic3_get_gpio_status_b(dev) & mask;+ return asic3_get_gpio_status_b(pdev) & mask; case _IPAQ_ASIC3_GPIO_BANK_C:- return asic3_get_gpio_status_c(dev) & mask;+ return asic3_get_gpio_status_c(pdev) & mask; case _IPAQ_ASIC3_GPIO_BANK_D:- return asic3_get_gpio_status_d(dev) & mask;+ return asic3_get_gpio_status_d(pdev) & mask; } printk("%s: invalid GPIO value 0x%x", __FUNCTION__, gpio);@@ -156,9 +156,9 @@ EXPORT_SYMBOL(asic3_get_gpio_bit); int-asic3_irq_base (struct device *dev)+asic3_irq_base (struct platform_device *pdev) {- struct asic3_data *asic = dev->driver_data;+ struct asic3_data *asic = platform_get_drvdata(pdev); return asic->irq_base; }@@ -166,9 +166,9 @@ EXPORT_SYMBOL(asic3_irq_base); void -asic3_set_led (struct device *dev, int led_num, int duty_time, int cycle_time)+asic3_set_led (struct platform_device *pdev, int led_num, int duty_time, int cycle_time) {- struct asic3_data *asic = dev->driver_data;+ struct asic3_data *asic = platform_get_drvdata(pdev); unsigned int led_base; /* it's a macro thing: see #define _IPAQ_ASIC_LED_0_Base for why you@@ -200,9 +200,9 @@ EXPORT_SYMBOL(asic3_set_led); void-asic3_set_clock_sel (struct device *dev, unsigned long bits, unsigned long val)+asic3_set_clock_sel (struct platform_device *pdev, unsigned long bits, unsigned long val) {- struct asic3_data *asic = dev->driver_data;+ struct asic3_data *asic = platform_get_drvdata(pdev); unsigned long flags, v; spin_lock_irqsave (&asic3_gpio_lock, flags);@@ -214,9 +214,9 @@ EXPORT_SYMBOL (asic3_set_clock_sel); void-asic3_set_clock_cdex (struct device *dev, unsigned long bits, unsigned long val)+asic3_set_clock_cdex (struct platform_device *pdev, unsigned long bits, unsigned long val) {- struct asic3_data *asic = dev->driver_data;+ struct asic3_data *asic = platform_get_drvdata(pdev); unsigned long flags, v; spin_lock_irqsave (&asic3_gpio_lock, flags);@@ -228,9 +228,9 @@ EXPORT_SYMBOL (asic3_set_clock_cdex); void-asic3_set_extcf_select (struct device *dev, unsigned long bits, unsigned long val)+asic3_set_extcf_select (struct platform_device *pdev, unsigned long bits, unsigned long val) {- struct asic3_data *asic = dev->driver_data;+ struct asic3_data *asic = platform_get_drvdata(pdev); unsigned long flags, v; spin_lock_irqsave (&asic3_gpio_lock, flags);@@ -242,9 +242,9 @@ EXPORT_SYMBOL (asic3_set_extcf_select); void-asic3_set_extcf_reset (struct device *dev, unsigned long bits, unsigned long val)+asic3_set_extcf_reset (struct platform_device *pdev, unsigned long bits, unsigned long val) {- struct asic3_data *asic = dev->driver_data;+ struct asic3_data *asic = platform_get_drvdata(pdev); unsigned long flags, v; spin_lock_irqsave (&asic3_gpio_lock, flags);@@ -256,9 +256,9 @@ EXPORT_SYMBOL (asic3_set_extcf_reset); void-asic3_set_sdhwctrl (struct device *dev, unsigned long bits, unsigned long val)+asic3_set_sdhwctrl (struct platform_device *pdev, unsigned long bits, unsigned long val) {- struct asic3_data *asic = dev->driver_data;+ struct asic3_data *asic = platform_get_drvdata(pdev); unsigned long flags, v; spin_lock_irqsave (&asic3_gpio_lock, flags);@@ -559,12 +559,11 @@ } int-asic3_register_mmc (struct device *dev)+asic3_register_mmc (struct platform_device *pdev) { struct platform_device *sdev = kmalloc (sizeof (*sdev), GFP_KERNEL); struct tmio_mmc_hwconfig *mmc_config = kmalloc (sizeof (*mmc_config), GFP_KERNEL);- struct platform_device *pdev = to_platform_device (dev);- struct asic3_data *asic = dev->driver_data;+ struct asic3_data *asic = platform_get_drvdata(pdev); struct resource *res; int rc; @@ -577,7 +576,7 @@ sdev->id = TMIO_MMC_DEVICE_ID; sdev->name = "asic3_mmc";- sdev->dev.parent = dev;+ sdev->dev.parent = &pdev->dev; sdev->num_resources = 2; sdev->dev.platform_data = mmc_config; sdev->dev.release = asic3_release;@@ -611,9 +610,9 @@ EXPORT_SYMBOL(asic3_register_mmc); int-asic3_unregister_mmc (struct device *dev)+asic3_unregister_mmc (struct platform_device *pdev) {- struct asic3_data *asic = dev->driver_data;+ struct asic3_data *asic = platform_get_drvdata(pdev); platform_device_unregister (asic->mmc_dev); asic->mmc_dev = 0; @@ -622,10 +621,9 @@ EXPORT_SYMBOL(asic3_unregister_mmc); static int -asic3_probe (struct device *dev)+asic3_probe (struct platform_device *pdev) {- struct platform_device *pdev = to_platform_device (dev);- struct asic3_platform_data *pdata = dev->platform_data;+ struct asic3_platform_data *pdata = pdev->dev.platform_data; struct asic3_data *asic; unsigned long clksel; @@ -635,7 +633,7 @@ memset (asic, 0, sizeof (*asic)); spin_lock_init (&asic3_gpio_lock);- dev->driver_data = asic;+ platform_set_drvdata(pdev, asic); asic->mapping = ioremap ((unsigned long)pdev->resource[0].start, IPAQ_ASIC3_MAP_SIZE); if (!asic->mapping) {@@ -658,46 +656,46 @@ __asic3_write_register (asic, _IPAQ_ASIC3_GPIO_C_Base + _IPAQ_ASIC3_GPIO_Mask, 0xffff); __asic3_write_register (asic, _IPAQ_ASIC3_GPIO_D_Base + _IPAQ_ASIC3_GPIO_Mask, 0xffff); - asic3_set_gpio_sleepmask_a (dev, 0xffff, 0xffff);- asic3_set_gpio_sleepmask_b (dev, 0xffff, 0xffff);- asic3_set_gpio_sleepmask_c (dev, 0xffff, 0xffff);- asic3_set_gpio_sleepmask_d (dev, 0xffff, 0xffff);+ asic3_set_gpio_sleepmask_a (pdev, 0xffff, 0xffff);+ asic3_set_gpio_sleepmask_b (pdev, 0xffff, 0xffff);+ asic3_set_gpio_sleepmask_c (pdev, 0xffff, 0xffff);+ asic3_set_gpio_sleepmask_d (pdev, 0xffff, 0xffff); if (pdata) {- asic3_set_gpio_out_a(dev, 0xffff, pdata->gpio_a.init);- asic3_set_gpio_out_b(dev, 0xffff, pdata->gpio_b.init);- asic3_set_gpio_out_c(dev, 0xffff, pdata->gpio_c.init);- asic3_set_gpio_out_d(dev, 0xffff, pdata->gpio_d.init);-- asic3_set_gpio_dir_a(dev, 0xffff, pdata->gpio_a.dir);- asic3_set_gpio_dir_b(dev, 0xffff, pdata->gpio_b.dir);- asic3_set_gpio_dir_c(dev, 0xffff, pdata->gpio_c.dir);- asic3_set_gpio_dir_d(dev, 0xffff, pdata->gpio_d.dir);-- asic3_set_gpio_sleepmask_a(dev, 0xffff, pdata->gpio_a.sleep_mask);- asic3_set_gpio_sleepmask_b(dev, 0xffff, pdata->gpio_b.sleep_mask);- asic3_set_gpio_sleepmask_c(dev, 0xffff, pdata->gpio_c.sleep_mask);- asic3_set_gpio_sleepmask_d(dev, 0xffff, pdata->gpio_d.sleep_mask);-- asic3_set_gpio_sleepout_a(dev, 0xffff, pdata->gpio_a.sleep_out);- asic3_set_gpio_sleepout_b(dev, 0xffff, pdata->gpio_b.sleep_out);- asic3_set_gpio_sleepout_c(dev, 0xffff, pdata->gpio_c.sleep_out);- asic3_set_gpio_sleepout_d(dev, 0xffff, pdata->gpio_d.sleep_out);-- asic3_set_gpio_battfaultout_a(dev, 0xffff, pdata->gpio_a.batt_fault_out);- asic3_set_gpio_battfaultout_b(dev, 0xffff, pdata->gpio_b.batt_fault_out);- asic3_set_gpio_battfaultout_c(dev, 0xffff, pdata->gpio_c.batt_fault_out);- asic3_set_gpio_battfaultout_d(dev, 0xffff, pdata->gpio_d.batt_fault_out);-- asic3_set_gpio_sleepconf_a(dev, 0xffff, pdata->gpio_a.sleep_conf);- asic3_set_gpio_sleepconf_b(dev, 0xffff, pdata->gpio_b.sleep_conf);- asic3_set_gpio_sleepconf_c(dev, 0xffff, pdata->gpio_c.sleep_conf);- asic3_set_gpio_sleepconf_d(dev, 0xffff, pdata->gpio_d.sleep_conf);-- asic3_set_gpio_alt_fn_a(dev, 0xffff, pdata->gpio_a.alt_function);- asic3_set_gpio_alt_fn_b(dev, 0xffff, pdata->gpio_b.alt_function);- asic3_set_gpio_alt_fn_c(dev, 0xffff, pdata->gpio_c.alt_function);- asic3_set_gpio_alt_fn_d(dev, 0xffff, pdata->gpio_d.alt_function);+ asic3_set_gpio_out_a(pdev, 0xffff, pdata->gpio_a.init);+ asic3_set_gpio_out_b(pdev, 0xffff, pdata->gpio_b.init);+ asic3_set_gpio_out_c(pdev, 0xffff, pdata->gpio_c.init);+ asic3_set_gpio_out_d(pdev, 0xffff, pdata->gpio_d.init);++ asic3_set_gpio_dir_a(pdev, 0xffff, pdata->gpio_a.dir);+ asic3_set_gpio_dir_b(pdev, 0xffff, pdata->gpio_b.dir);+ asic3_set_gpio_dir_c(pdev, 0xffff, pdata->gpio_c.dir);+ asic3_set_gpio_dir_d(pdev, 0xffff, pdata->gpio_d.dir);++ asic3_set_gpio_sleepmask_a(pdev, 0xffff, pdata->gpio_a.sleep_mask);+ asic3_set_gpio_sleepmask_b(pdev, 0xffff, pdata->gpio_b.sleep_mask);+ asic3_set_gpio_sleepmask_c(pdev, 0xffff, pdata->gpio_c.sleep_mask);+ asic3_set_gpio_sleepmask_d(pdev, 0xffff, pdata->gpio_d.sleep_mask);++ asic3_set_gpio_sleepout_a(pdev, 0xffff, pdata->gpio_a.sleep_out);+ asic3_set_gpio_sleepout_b(pdev, 0xffff, pdata->gpio_b.sleep_out);+ asic3_set_gpio_sleepout_c(pdev, 0xffff, pdata->gpio_c.sleep_out);+ asic3_set_gpio_sleepout_d(pdev, 0xffff, pdata->gpio_d.sleep_out);++ asic3_set_gpio_battfaultout_a(pdev, 0xffff, pdata->gpio_a.batt_fault_out);+ asic3_set_gpio_battfaultout_b(pdev, 0xffff, pdata->gpio_b.batt_fault_out);+ asic3_set_gpio_battfaultout_c(pdev, 0xffff, pdata->gpio_c.batt_fault_out);+ asic3_set_gpio_battfaultout_d(pdev, 0xffff, pdata->gpio_d.batt_fault_out);++ asic3_set_gpio_sleepconf_a(pdev, 0xffff, pdata->gpio_a.sleep_conf);+ asic3_set_gpio_sleepconf_b(pdev, 0xffff, pdata->gpio_b.sleep_conf);+ asic3_set_gpio_sleepconf_c(pdev, 0xffff, pdata->gpio_c.sleep_conf);+ asic3_set_gpio_sleepconf_d(pdev, 0xffff, pdata->gpio_d.sleep_conf);++ asic3_set_gpio_alt_fn_a(pdev, 0xffff, pdata->gpio_a.alt_function);+ asic3_set_gpio_alt_fn_b(pdev, 0xffff, pdata->gpio_b.alt_function);+ asic3_set_gpio_alt_fn_c(pdev, 0xffff, pdata->gpio_c.alt_function);+ asic3_set_gpio_alt_fn_d(pdev, 0xffff, pdata->gpio_d.alt_function); } asic->irq_nr = -1;@@ -712,7 +710,7 @@ asic->irq_base = alloc_irq_space (ASIC3_NR_IRQS); if (asic->irq_base == -1) { printk("asic3: unable to allocate %d IRQs\n", ASIC3_NR_IRQS);- asic3_remove (dev);+ asic3_remove (pdev); return -ENOMEM; } @@ -749,9 +747,9 @@ if (pdev->num_resources > 2) { int rc;- rc = asic3_register_mmc (dev);+ rc = asic3_register_mmc (pdev); if (rc) {- asic3_remove (dev);+ asic3_remove (pdev); return rc; } }@@ -763,11 +761,11 @@ } static int-asic3_remove (struct device *dev)+asic3_remove (struct platform_device *pdev) { struct asic3_data *asic;- struct asic3_platform_data *pdata = dev->platform_data;- asic = dev->driver_data;+ struct asic3_platform_data *pdata = pdev->dev.platform_data;+ asic = platform_get_drvdata(pdev); if (pdata && pdata->child_platform_devs && pdata->num_child_platform_devs != 0) { int i;@@ -792,7 +790,7 @@ } if (asic->mmc_dev)- asic3_unregister_mmc (dev);+ asic3_unregister_mmc (pdev); __asic3_write_register (asic, _IPAQ_ASIC3_CLOCK_Base + _IPAQ_ASIC3_CLOCK_SEL, 0); __asic3_write_register (asic, _IPAQ_ASIC3_INTR_Base + _IPAQ_ASIC3_INTR_IntMask, 0);@@ -805,16 +803,16 @@ } static void-asic3_shutdown (struct device *dev)+asic3_shutdown (struct platform_device *pdev) { } static unsigned short suspend_cdex; static int-asic3_suspend (struct device *dev, pm_message_t state)+asic3_suspend (struct platform_device *pdev, pm_message_t state) {- struct asic3_data *asic = dev->driver_data;+ struct asic3_data *asic = platform_get_drvdata(pdev); suspend_cdex = __asic3_read_register (asic, _IPAQ_ASIC3_CLOCK_Base + _IPAQ_ASIC3_CLOCK_CDEX); /* The LEDs are still active during suspend */@@ -825,9 +823,9 @@ } static int-asic3_resume (struct device *dev)+asic3_resume (struct platform_device *pdev) {- struct asic3_data *asic = dev->driver_data;+ struct asic3_data *asic = platform_get_drvdata(pdev); __asic3_write_register (asic, _IPAQ_ASIC3_INTR_Base + _IPAQ_ASIC3_CLOCK_CDEX, suspend_cdex );@@ -844,29 +842,29 @@ return 0; } -static struct device_driver asic3_device_driver = {- .name = "asic3",- .bus = &platform_bus_type,-+static struct platform_driver asic3_driver = { .probe = asic3_probe, .remove = asic3_remove, .suspend = asic3_suspend, .resume = asic3_resume, .shutdown = asic3_shutdown,+ .driver = {+ .name = "asic3",+ }, }; static int __init asic3_base_init (void) { int retval = 0;- retval = driver_register (&asic3_device_driver);+ retval = platform_driver_register (&asic3_driver); return retval; } static void __exit asic3_base_exit (void) {- driver_unregister (&asic3_device_driver);+ platform_driver_unregister (&asic3_driver); } #ifdef MODULEIndex: include/asm-arm/hardware/asic3_keys.h===================================================================RCS file: /cvs/linux/kernel26/include/asm-arm/hardware/asic3_keys.h,vretrieving revision 1.4diff -u -r1.4 asic3_keys.h--- include/asm-arm/hardware/asic3_keys.h 5 Nov 2006 17:44:28 -0000 1.4+++ include/asm-arm/hardware/asic3_keys.h 30 Nov 2006 18:35:56 -0000@@ -13,5 +13,5 @@ struct asic3_keys_button *buttons; int nbuttons; struct input_dev *input;- struct device *asic3_dev;+ struct platform_device *asic3_pdev; };Index: include/linux/soc/asic3_base.h===================================================================RCS file: /cvs/linux/kernel26/include/linux/soc/asic3_base.h,vretrieving revision 1.8diff -u -r1.8 asic3_base.h--- include/linux/soc/asic3_base.h 18 Nov 2006 00:34:30 -0000 1.8+++ include/linux/soc/asic3_base.h 30 Nov 2006 18:36:00 -0000@@ -1,7 +1,7 @@ /* Private defines - for internal use only */ #define HDR_IPAQ_ASIC3_ACTION(ACTION,action,fn,FN) \-u32 asic3_get_gpio_ ## action ## _ ## fn (struct device *dev); \-void asic3_set_gpio_ ## action ## _ ## fn (struct device *dev, u32 bits, u32 val);+u32 asic3_get_gpio_ ## action ## _ ## fn (struct platform_device *pdev); \+void asic3_set_gpio_ ## action ## _ ## fn (struct platform_device *pdev, u32 bits, u32 val); #define HDR_IPAQ_ASIC3_FN(fn,FN) \ HDR_IPAQ_ASIC3_ACTION ( MASK,mask,fn,FN) \@@ -34,22 +34,22 @@ /* Public API */ -extern int asic3_irq_base (struct device *dev);+extern int asic3_irq_base (struct platform_device *pdev); -void asic3_write_register (struct device *dev, unsigned int reg, unsigned long value);-unsigned long asic3_read_register (struct device *dev, unsigned int reg);+void asic3_write_register (struct platform_device *pdev, unsigned int reg, unsigned long value);+unsigned long asic3_read_register (struct platform_device *pdev, unsigned int reg); -extern void asic3_set_clock_sel (struct device *dev, unsigned long bits, unsigned long val);-extern u32 asic3_get_clock_cdex (struct device *dev);-extern void asic3_set_clock_cdex (struct device *dev, unsigned long bits, unsigned long val);-extern void asic3_set_extcf_select (struct device *dev, unsigned long bits, unsigned long val);-extern void asic3_set_extcf_reset (struct device *dev, unsigned long bits, unsigned long val);-extern void asic3_set_sdhwctrl (struct device *dev, unsigned long bits, unsigned long val);+extern void asic3_set_clock_sel (struct platform_device *pdev, unsigned long bits, unsigned long val);+extern u32 asic3_get_clock_cdex (struct platform_device *pdev);+extern void asic3_set_clock_cdex (struct platform_device *pdev, unsigned long bits, unsigned long val);+extern void asic3_set_extcf_select (struct platform_device *pdev, unsigned long bits, unsigned long val);+extern void asic3_set_extcf_reset (struct platform_device *pdev, unsigned long bits, unsigned long val);+extern void asic3_set_sdhwctrl (struct platform_device *pdev, unsigned long bits, unsigned long val); -void asic3_set_led( struct device *dev, int led_num, int duty_time, int cycle_time);+void asic3_set_led( struct platform_device *pdev, int led_num, int duty_time, int cycle_time); -extern int asic3_register_mmc (struct device *dev);-extern int asic3_unregister_mmc (struct device *dev);+extern int asic3_register_mmc (struct platform_device *pdev);+extern int asic3_unregister_mmc (struct platform_device *pdev); /* Accessors for GPIO banks */ HDR_IPAQ_ASIC3_FN(a, A)@@ -64,4 +64,4 @@ #define ASIC3_GPIO_bit(gpio) (1 << (gpio & 0xf)) -extern int asic3_get_gpio_bit(struct device *dev, int gpio);+extern int asic3_get_gpio_bit(struct platform_device *pdev, int gpio);