Hi Ben, Thanks for your question. Yes, If sure that these aren't needed, they can remove them. And the driver already has code to check for NULL and not call them. Thanks. Best Wishes, Dudley Du 86-21-61648950 -----Original Message----- From: Ben Dooks [mailto:ben-linux@xxxxxxxxx] Sent: Friday, March 04, 2011 7:50 PM To: Dudley Du; ccross@xxxxxxxxxxx; konkers@xxxxxxxxxxx; olof@xxxxxxxxx; linux@xxxxxxxxxxxxxxxx; linux-tegra@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; micahc@xxxxxxxxxx; chromium-os-reviews@xxxxxxxxxxxx; msb@xxxxxxxxxxxx; olofj@xxxxxxxxxxxx; vbendeb+kernel@xxxxxxxxxxxx Subject: Re: CHROMIUM: arm: tegra: Add platfrom devices for Cypress trackpad (issue6623011) On Fri, Mar 04, 2011 at 11:42:54AM +0000, dudl@xxxxxxxxxxx wrote: > Reviewers: ccross_android.com, konkers_android.com, olof_lixom.net, > linux_arm.linux.org.uk, linux-tegra_vger.kernel.org, > linux-arm-kernel_lists.infradead.org, linux-kernel_vger.kernel.org, Micah > C, dudl, > > Description: > CHROMIUM: arm: tegra: Add platfrom devices for Cypress trackpad > > 1. Add platfrom data strcuture cyapa_platfrom_data. > 2. Add trackpad device into platfrom I2C bus 0. > 3. Initialize platfrom data for cyapa_platfrom_data. > 4. This code is merged based kernel version 2.7.37-rc5. > > > Change-Id: I3591317ac9c3b7d5328a9c617d662ad6be6065a2 > Signed-off-by: Du, Dudley <dudl@xxxxxxxxxxx> > > BUG=None > TEST=Test on arm tegra2 seaborad and kaen platform > > Please review this at http://codereview.chromium.org/6623011/ > > SVN Base: http://git.chromium.org/git/kernel-next.git@xxxxxxxxxxxxxxxxxxx > > Affected files: > M arch/arm/mach-tegra/board-seaboard.h > M arch/arm/mach-tegra/board-seaboard.c > > > Index: arch/arm/mach-tegra/board-seaboard.c > diff --git a/arch/arm/mach-tegra/board-seaboard.c > b/arch/arm/mach-tegra/board-seaboard.c > index > 75fbab68ef61c0c117bb8dafa2aaca90947a860b..de272cc73794c6600994af3c0e834dd884f6b56b > 100644 > --- a/arch/arm/mach-tegra/board-seaboard.c > +++ b/arch/arm/mach-tegra/board-seaboard.c > @@ -303,6 +303,36 @@ static struct tegra_i2c_platform_data > seaboard_dvc_platform_data = { > .is_dvc = true, > }; > > +/* for Cypress Trackpad. */ > +#include <linux/cyapa.h> > + > +static int cyapa_i2c_platform_init(void) > +{ > + return 0; > +} > + > +static int cyapa_i2c_platform_wakeup(void) > +{ > + return 0; > +} > + > +static struct cyapa_platform_data cyapa_i2c_platform_data = { > + .flag = 0, > + .gen = CYAPA_GEN2, > + .power_state = CYAPA_PWR_ACTIVE, > + .use_absolute_mode = false, > + .use_polling_mode = false, > + .polling_interval_time_active = CYAPA_ACTIVE_POLLING_INTVAL_TIME, > + .polling_interval_time_lowpower = CYAPA_LOWPOWER_POLLING_INTVAL_TIME, > + .active_touch_timeout = CYAPA_ACTIVE_TOUCH_TIMEOUT, > + .name = CYAPA_I2C_NAME, > + .irq_gpio = TEGRA_GPIO_CYTP_INT, > + .report_rate = CYAPA_REPORT_RATE, > + > + .wakeup = cyapa_i2c_platform_wakeup, > + .init = cyapa_i2c_platform_init, if these aren't needed, then why not get the driver to check for NULL and not call them? -- Ben Dooks, ben@xxxxxxxxx, http://www.fluff.org/ben/ Large Hadron Colada: A large Pina Colada that makes the universe disappear. ÿô.nÇ·®+%˱é¥wÿº{.nÇ·¥{±þׯâ^nr¡öë¨è&£ûz¹Þúzf£¢·h§~Ûÿÿïÿê_èæ+v¨þ)ßø