public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i2c/ch7006: Convert to dev_pm_ops
@ 2012-06-12  1:45 Mark Brown
  2012-06-27  9:21 ` Dave Airlie
  0 siblings, 1 reply; 5+ messages in thread
From: Mark Brown @ 2012-06-12  1:45 UTC (permalink / raw)
  To: David Airlie; +Cc: dri-devel, linux-kernel, Mark Brown

The I2C specific suspend and resume functions have been deprecated and
printing a warning on boot for over a year, dev_pm_ops should be used
instead so convert to that.

Also remove the suspend function since all it does is log.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Francisco Jerez <currojerez@riseup.net>
---

This patch has been sitting around for quite a while now, it's going to
end up blocking improvements in the I2C subsystem at some point.

 drivers/gpu/drm/i2c/ch7006_drv.c |   16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/i2c/ch7006_drv.c b/drivers/gpu/drm/i2c/ch7006_drv.c
index d3f2e87..74ad254 100644
--- a/drivers/gpu/drm/i2c/ch7006_drv.c
+++ b/drivers/gpu/drm/i2c/ch7006_drv.c
@@ -427,15 +427,10 @@ static int ch7006_remove(struct i2c_client *client)
 	return 0;
 }
 
-static int ch7006_suspend(struct i2c_client *client, pm_message_t mesg)
+static int ch7006_resume(struct device *dev)
 {
-	ch7006_dbg(client, "\n");
-
-	return 0;
-}
+	struct i2c_client *client = to_i2c_device(dev);
 
-static int ch7006_resume(struct i2c_client *client)
-{
 	ch7006_dbg(client, "\n");
 
 	ch7006_write(client, 0x3d, 0x0);
@@ -499,15 +494,18 @@ static struct i2c_device_id ch7006_ids[] = {
 };
 MODULE_DEVICE_TABLE(i2c, ch7006_ids);
 
+static const struct dev_pm_ops ch7006_pm_ops = {
+	.resume = ch7006_resume,
+};
+
 static struct drm_i2c_encoder_driver ch7006_driver = {
 	.i2c_driver = {
 		.probe = ch7006_probe,
 		.remove = ch7006_remove,
-		.suspend = ch7006_suspend,
-		.resume = ch7006_resume,
 
 		.driver = {
 			.name = "ch7006",
+			.pm = &ch7006_pm_ops,
 		},
 
 		.id_table = ch7006_ids,
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] drm/i2c/ch7006: Convert to dev_pm_ops
  2012-06-12  1:45 [PATCH] drm/i2c/ch7006: Convert to dev_pm_ops Mark Brown
@ 2012-06-27  9:21 ` Dave Airlie
  2012-06-27 11:10   ` Mark Brown
  0 siblings, 1 reply; 5+ messages in thread
From: Dave Airlie @ 2012-06-27  9:21 UTC (permalink / raw)
  To: Mark Brown; +Cc: David Airlie, dri-devel, linux-kernel

On Tue, Jun 12, 2012 at 2:45 AM, Mark Brown
<broonie@opensource.wolfsonmicro.com> wrote:
> The I2C specific suspend and resume functions have been deprecated and
> printing a warning on boot for over a year, dev_pm_ops should be used
> instead so convert to that.
>
> Also remove the suspend function since all it does is log.
>
> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
> Acked-by: Francisco Jerez <currojerez@riseup.net>

Thanks for this and I like the fact its been posted 5 times but never
compiled once.

Can you at least test compile it?

comment below:

>
> -}
> +       struct i2c_client *client = to_i2c_device(dev);

This isn't a function ^^

Dave.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH] drm/i2c/ch7006: Convert to dev_pm_ops
@ 2012-06-27 11:04 Mark Brown
  0 siblings, 0 replies; 5+ messages in thread
From: Mark Brown @ 2012-06-27 11:04 UTC (permalink / raw)
  To: Dave Airlie, David Airlie
  Cc: dri-devel, linux-kernel, Francisco Jerez, Mark Brown

The I2C specific suspend and resume functions have been deprecated and
printing a warning on boot for over a year, dev_pm_ops should be used
instead so convert to that.

Also remove the suspend function since all it does is log.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Francisco Jerez <currojerez@riseup.net>
---
 drivers/gpu/drm/i2c/ch7006_drv.c |   16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/i2c/ch7006_drv.c b/drivers/gpu/drm/i2c/ch7006_drv.c
index d3f2e87..0fb8742 100644
--- a/drivers/gpu/drm/i2c/ch7006_drv.c
+++ b/drivers/gpu/drm/i2c/ch7006_drv.c
@@ -427,15 +427,10 @@ static int ch7006_remove(struct i2c_client *client)
 	return 0;
 }
 
-static int ch7006_suspend(struct i2c_client *client, pm_message_t mesg)
+static int ch7006_resume(struct device *dev)
 {
-	ch7006_dbg(client, "\n");
-
-	return 0;
-}
+	struct i2c_client *client = to_i2c_client(dev);
 
-static int ch7006_resume(struct i2c_client *client)
-{
 	ch7006_dbg(client, "\n");
 
 	ch7006_write(client, 0x3d, 0x0);
@@ -499,15 +494,18 @@ static struct i2c_device_id ch7006_ids[] = {
 };
 MODULE_DEVICE_TABLE(i2c, ch7006_ids);
 
+static const struct dev_pm_ops ch7006_pm_ops = {
+	.resume = ch7006_resume,
+};
+
 static struct drm_i2c_encoder_driver ch7006_driver = {
 	.i2c_driver = {
 		.probe = ch7006_probe,
 		.remove = ch7006_remove,
-		.suspend = ch7006_suspend,
-		.resume = ch7006_resume,
 
 		.driver = {
 			.name = "ch7006",
+			.pm = &ch7006_pm_ops,
 		},
 
 		.id_table = ch7006_ids,
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] drm/i2c/ch7006: Convert to dev_pm_ops
  2012-06-27  9:21 ` Dave Airlie
@ 2012-06-27 11:10   ` Mark Brown
  0 siblings, 0 replies; 5+ messages in thread
From: Mark Brown @ 2012-06-27 11:10 UTC (permalink / raw)
  To: Dave Airlie; +Cc: David Airlie, dri-devel, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1237 bytes --]

On Wed, Jun 27, 2012 at 10:21:46AM +0100, Dave Airlie wrote:

> Thanks for this and I like the fact its been posted 5 times but never
> compiled once.

It's hard to remember since it was so long ago that I wrote the patch
but I rather suspect the reason this didn't happen is that it's actually
fairly hard to enable for test builds as the relevant Kconfig is buried
in a different directory (it's done as part of the Nouveau driver) with
no immediate relationship with the code.  That said...

> Can you at least test compile it?

...it could also be that the build error I get when I enable CONFIG_DRM
with -next is a long standing one:

In file included from include/drm/drmP.h:75,
                 from drivers/gpu/drm/drm_auth.c:36:
include/drm/drm.h:47: fatal error: sys/ioccom.h: No such file or directory
compilation terminated.
make[3]: *** [drivers/gpu/drm/drm_auth.o] Error 1

The error here seems to be that you're relying on __linux__ to decide if
you're building the kernel but that's not something you can rely on, we
can build the kernel with a freestanding compiler and the compiler will
only define this if it targets a Linux userspace.  I happen to do pretty
much all of my kernel builds with a freestanding compiler.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH] drm/i2c/ch7006: Convert to dev_pm_ops
@ 2012-08-07 11:14 Mark Brown
  0 siblings, 0 replies; 5+ messages in thread
From: Mark Brown @ 2012-08-07 11:14 UTC (permalink / raw)
  To: David Airlie; +Cc: dri-devel, Francisco Jerez, linux-kernel, Mark Brown

The I2C specific suspend and resume functions have been deprecated and
printing a warning on boot for over a year, dev_pm_ops should be used
instead so convert to that.

Also remove the suspend function since all it does is log.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Francisco Jerez <currojerez@riseup.net>
---
 drivers/gpu/drm/i2c/ch7006_drv.c |   16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/i2c/ch7006_drv.c b/drivers/gpu/drm/i2c/ch7006_drv.c
index 36d9522..599099f 100644
--- a/drivers/gpu/drm/i2c/ch7006_drv.c
+++ b/drivers/gpu/drm/i2c/ch7006_drv.c
@@ -427,15 +427,10 @@ static int ch7006_remove(struct i2c_client *client)
 	return 0;
 }
 
-static int ch7006_suspend(struct i2c_client *client, pm_message_t mesg)
+static int ch7006_resume(struct device *dev)
 {
-	ch7006_dbg(client, "\n");
-
-	return 0;
-}
+	struct i2c_client *client = to_i2c_client(dev);
 
-static int ch7006_resume(struct i2c_client *client)
-{
 	ch7006_dbg(client, "\n");
 
 	ch7006_write(client, 0x3d, 0x0);
@@ -499,15 +494,18 @@ static struct i2c_device_id ch7006_ids[] = {
 };
 MODULE_DEVICE_TABLE(i2c, ch7006_ids);
 
+static const struct dev_pm_ops ch7006_pm_ops = {
+	.resume = ch7006_resume,
+};
+
 static struct drm_i2c_encoder_driver ch7006_driver = {
 	.i2c_driver = {
 		.probe = ch7006_probe,
 		.remove = ch7006_remove,
-		.suspend = ch7006_suspend,
-		.resume = ch7006_resume,
 
 		.driver = {
 			.name = "ch7006",
+			.pm = &ch7006_pm_ops,
 		},
 
 		.id_table = ch7006_ids,
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-08-07 11:14 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-12  1:45 [PATCH] drm/i2c/ch7006: Convert to dev_pm_ops Mark Brown
2012-06-27  9:21 ` Dave Airlie
2012-06-27 11:10   ` Mark Brown
  -- strict thread matches above, loose matches on Subject: below --
2012-06-27 11:04 Mark Brown
2012-08-07 11:14 Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox