Re: [PATCH v5] input: tegra-kbc - Add tegra keyboard driver

From: Dmitry Torokhov
Date: Tue Jan 18 2011 - 00:13:41 EST


On Mon, Jan 17, 2011 at 09:12:16PM -0800, Dmitry Torokhov wrote:
> On Thu, Jan 13, 2011 at 10:27:28AM -0800, riyer@xxxxxxxxxx wrote:
> > From: Rakesh Iyer <riyer@xxxxxxxxxx>
> >
> > This patch adds support for the internal matrix keyboard controller for
> > Nvidia Tegra platforms.
> >
> > Signed-off-by: Rakesh Iyer <riyer@xxxxxxxxxx>
> > ---
> > Changes Done -
> > Wrap the users field check within the mutex.
> > Remove the KBC_MAX_KEYS define and use existing KBC_MAX_KEY.
> > Patch v4 was named incorrectly as PATCH 1/1, so skipping ahead to PATCH v5.
> >
>
> As I said, we should tty to reused definitions from matrix_keypad for
> matrix keypads. Does the following still work for you?
>

And if it does then could you please try this one as well?

Thanks.

--
Dmitry

Input: tegra-kbc - convert to dev_pm_ops

From: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>

Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx>
---

drivers/input/keyboard/tegra-kbc.c | 17 +++++++++--------
1 files changed, 9 insertions(+), 8 deletions(-)


diff --git a/drivers/input/keyboard/tegra-kbc.c b/drivers/input/keyboard/tegra-kbc.c
index a6ec3fc..c3c0c65 100644
--- a/drivers/input/keyboard/tegra-kbc.c
+++ b/drivers/input/keyboard/tegra-kbc.c
@@ -658,9 +658,10 @@ static int __devexit tegra_kbc_remove(struct platform_device *pdev)
return 0;
}

-#ifdef CONFIG_PM
-static int tegra_kbc_suspend(struct platform_device *pdev, pm_message_t state)
+#ifdef CONFIG_PM_SLEEP
+static int tegra_kbc_suspend(struct device *dev)
{
+ struct platform_device *pdev = to_platform_device(dev);
struct tegra_kbc *kbc = platform_get_drvdata(pdev);

if (device_may_wakeup(&pdev->dev)) {
@@ -679,8 +680,9 @@ static int tegra_kbc_suspend(struct platform_device *pdev, pm_message_t state)
return 0;
}

-static int tegra_kbc_resume(struct platform_device *pdev)
+static int tegra_kbc_resume(struct device *dev)
{
+ struct platform_device *pdev = to_platform_device(dev);
struct tegra_kbc *kbc = platform_get_drvdata(pdev);
int err = 0;

@@ -698,17 +700,16 @@ static int tegra_kbc_resume(struct platform_device *pdev)
}
#endif

+static SIMPLE_DEV_PM_OPS(tegra_kbc_pm_ops, tegra_kbc_suspend, tegra_kbc_resume);
+
static struct platform_driver tegra_kbc_driver = {
.probe = tegra_kbc_probe,
.remove = __devexit_p(tegra_kbc_remove),
-#ifdef CONFIG_PM
- .suspend = tegra_kbc_suspend,
- .resume = tegra_kbc_resume,
-#endif
.driver = {
.name = "tegra-kbc",
.owner = THIS_MODULE,
- }
+ .pm = &tegra_kbc_pm_ops,
+ },
};

static void __exit tegra_kbc_exit(void)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/