--- /home/ph5/cvs/hh.o/linux/kernel26/arch/arm/mach-pxa/hx4700/hx4700_ts.c 2006-11-20 10:34:34.000000000 +0100 +++ hx4700_ts.c 2006-11-20 18:40:39.000000000 +0100 @@ -30,7 +30,6 @@ #include #include -#include #include #include @@ -144,7 +143,7 @@ /* * alternate between rising and falling, based on pin status */ - statusd = asic3_get_gpio_status_d( &hx4700_asic3.dev ); + statusd = ipaq_asic3_read_gpio_status_d( &hx4700_asic3.dev ); 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 ); @@ -377,7 +376,7 @@ } static int -ts_probe (struct device *dev) +ts_probe (struct platform_device *dev) { int retval; struct touchscreen_data *ts; @@ -424,7 +423,7 @@ INIT_WORK(&serial_work, start_read, ts); - dev_set_drvdata(dev, ts); + platform_set_drvdata(dev, ts); /* *** Initialize the SSP interface *** */ ssp_init(); @@ -509,10 +508,10 @@ } static int -ts_remove (struct device *dev) +ts_remove (struct platform_device *dev) { int i; - struct touchscreen_data *ts = dev_get_drvdata(dev); + struct touchscreen_data *ts = platform_get_drvdata(dev); input_unregister_device (ts->input); del_timer_sync (&ts->timer); @@ -528,16 +527,16 @@ } static int -ts_suspend (struct device *dev, pm_message_t state) +ts_suspend (struct platform_device *dev, pm_message_t state) { disable_irq(HX4700_IRQ(TOUCHPANEL_IRQ_N)); return 0; } static int -ts_resume (struct device *dev) +ts_resume (struct platform_device *dev) { - struct touchscreen_data *ts = dev_get_drvdata(dev); + struct touchscreen_data *ts = platform_get_drvdata(dev); ts->state = STATE_WAIT_FOR_TOUCH; ssp_init(); @@ -546,13 +545,14 @@ return 0; } -static struct device_driver ts_driver = { - .name = "hx4700-ts", - .bus = &platform_bus_type, +static struct platform_driver ts_driver = { .probe = ts_probe, .remove = ts_remove, .suspend = ts_suspend, - .resume = ts_resume + .resume = ts_resume, + .driver = { + .name = "hx4700-ts", + }, }; static int tssim_init(void); @@ -566,7 +566,7 @@ } else { printk(KERN_NOTICE " TS Simulator Installed\n"); } - return driver_register(&ts_driver); + return platform_driver_register(&ts_driver); } static void tssim_exit(void); @@ -575,7 +575,7 @@ ts_module_cleanup (void) { tssim_exit(); - driver_unregister (&ts_driver); + platform_driver_unregister (&ts_driver); } /************* Code for Touch Screen Simulation for FBVNC Server **********/