All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH -next] drm/radeon/radeon_pm: use DEVICE_ATTR_RW macro
@ 2021-05-28  7:02 ` YueHaibing
  0 siblings, 0 replies; 12+ messages in thread
From: YueHaibing @ 2021-05-28  7:02 UTC (permalink / raw)
  To: alexander.deucher, christian.koenig, Xinhui.Pan, airlied, daniel
  Cc: amd-gfx, dri-devel, linux-kernel, YueHaibing

Use DEVICE_ATTR_RW() helper instead of plain DEVICE_ATTR(),
which makes the code a bit shorter and easier to read.

Signed-off-by: YueHaibing <yuehaibing@huawei.com>
---
 drivers/gpu/drm/radeon/radeon_pm.c | 56 ++++++++++++------------------
 1 file changed, 23 insertions(+), 33 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c
index 3861c0b98fcf..edf10cc3947e 100644
--- a/drivers/gpu/drm/radeon/radeon_pm.c
+++ b/drivers/gpu/drm/radeon/radeon_pm.c
@@ -352,9 +352,8 @@ static void radeon_pm_print_states(struct radeon_device *rdev)
 	}
 }
 
-static ssize_t radeon_get_pm_profile(struct device *dev,
-				     struct device_attribute *attr,
-				     char *buf)
+static ssize_t power_profile_show(struct device *dev,
+				  struct device_attribute *attr, char *buf)
 {
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct radeon_device *rdev = ddev->dev_private;
@@ -366,10 +365,8 @@ static ssize_t radeon_get_pm_profile(struct device *dev,
 			  (cp == PM_PROFILE_HIGH) ? "high" : "default");
 }
 
-static ssize_t radeon_set_pm_profile(struct device *dev,
-				     struct device_attribute *attr,
-				     const char *buf,
-				     size_t count)
+static ssize_t power_profile_store(struct device *dev, struct device_attribute *attr,
+				   const char *buf, size_t count)
 {
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct radeon_device *rdev = ddev->dev_private;
@@ -406,9 +403,8 @@ static ssize_t radeon_set_pm_profile(struct device *dev,
 	return count;
 }
 
-static ssize_t radeon_get_pm_method(struct device *dev,
-				    struct device_attribute *attr,
-				    char *buf)
+static ssize_t power_method_show(struct device *dev,
+				 struct device_attribute *attr, char *buf)
 {
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct radeon_device *rdev = ddev->dev_private;
@@ -418,10 +414,9 @@ static ssize_t radeon_get_pm_method(struct device *dev,
 			  (pm == PM_METHOD_PROFILE) ? "profile" : "dpm");
 }
 
-static ssize_t radeon_set_pm_method(struct device *dev,
-				    struct device_attribute *attr,
-				    const char *buf,
-				    size_t count)
+static ssize_t power_method_store(struct device *dev,
+				  struct device_attribute *attr,
+				  const char *buf, size_t count)
 {
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct radeon_device *rdev = ddev->dev_private;
@@ -462,9 +457,8 @@ static ssize_t radeon_set_pm_method(struct device *dev,
 	return count;
 }
 
-static ssize_t radeon_get_dpm_state(struct device *dev,
-				    struct device_attribute *attr,
-				    char *buf)
+static ssize_t power_dpm_state_show(struct device *dev,
+				    struct device_attribute *attr, char *buf)
 {
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct radeon_device *rdev = ddev->dev_private;
@@ -475,10 +469,9 @@ static ssize_t radeon_get_dpm_state(struct device *dev,
 			  (pm == POWER_STATE_TYPE_BALANCED) ? "balanced" : "performance");
 }
 
-static ssize_t radeon_set_dpm_state(struct device *dev,
-				    struct device_attribute *attr,
-				    const char *buf,
-				    size_t count)
+static ssize_t power_dpm_state_store(struct device *dev,
+				     struct device_attribute *attr,
+				     const char *buf, size_t count)
 {
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct radeon_device *rdev = ddev->dev_private;
@@ -506,9 +499,9 @@ static ssize_t radeon_set_dpm_state(struct device *dev,
 	return count;
 }
 
-static ssize_t radeon_get_dpm_forced_performance_level(struct device *dev,
-						       struct device_attribute *attr,
-						       char *buf)
+static ssize_t power_dpm_force_performance_level_show(struct device *dev,
+						      struct device_attribute *attr,
+						      char *buf)
 {
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct radeon_device *rdev = ddev->dev_private;
@@ -523,10 +516,9 @@ static ssize_t radeon_get_dpm_forced_performance_level(struct device *dev,
 			  (level == RADEON_DPM_FORCED_LEVEL_LOW) ? "low" : "high");
 }
 
-static ssize_t radeon_set_dpm_forced_performance_level(struct device *dev,
+static ssize_t power_dpm_force_performance_level_store(struct device *dev,
 						       struct device_attribute *attr,
-						       const char *buf,
-						       size_t count)
+						       const char *buf, size_t count)
 {
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct radeon_device *rdev = ddev->dev_private;
@@ -658,12 +650,10 @@ static ssize_t radeon_hwmon_get_pwm1(struct device *dev,
 	return sprintf(buf, "%i\n", speed);
 }
 
-static DEVICE_ATTR(power_profile, S_IRUGO | S_IWUSR, radeon_get_pm_profile, radeon_set_pm_profile);
-static DEVICE_ATTR(power_method, S_IRUGO | S_IWUSR, radeon_get_pm_method, radeon_set_pm_method);
-static DEVICE_ATTR(power_dpm_state, S_IRUGO | S_IWUSR, radeon_get_dpm_state, radeon_set_dpm_state);
-static DEVICE_ATTR(power_dpm_force_performance_level, S_IRUGO | S_IWUSR,
-		   radeon_get_dpm_forced_performance_level,
-		   radeon_set_dpm_forced_performance_level);
+static DEVICE_ATTR_RW(power_profile);
+static DEVICE_ATTR_RW(power_method);
+static DEVICE_ATTR_RW(power_dpm_state);
+static DEVICE_ATTR_RW(power_dpm_force_performance_level);
 
 static ssize_t radeon_hwmon_show_temp(struct device *dev,
 				      struct device_attribute *attr,
-- 
2.17.1


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

* [PATCH -next] drm/radeon/radeon_pm: use DEVICE_ATTR_RW macro
@ 2021-05-28  7:02 ` YueHaibing
  0 siblings, 0 replies; 12+ messages in thread
From: YueHaibing @ 2021-05-28  7:02 UTC (permalink / raw)
  To: alexander.deucher, christian.koenig, Xinhui.Pan, airlied, daniel
  Cc: YueHaibing, dri-devel, amd-gfx, linux-kernel

Use DEVICE_ATTR_RW() helper instead of plain DEVICE_ATTR(),
which makes the code a bit shorter and easier to read.

Signed-off-by: YueHaibing <yuehaibing@huawei.com>
---
 drivers/gpu/drm/radeon/radeon_pm.c | 56 ++++++++++++------------------
 1 file changed, 23 insertions(+), 33 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c
index 3861c0b98fcf..edf10cc3947e 100644
--- a/drivers/gpu/drm/radeon/radeon_pm.c
+++ b/drivers/gpu/drm/radeon/radeon_pm.c
@@ -352,9 +352,8 @@ static void radeon_pm_print_states(struct radeon_device *rdev)
 	}
 }
 
-static ssize_t radeon_get_pm_profile(struct device *dev,
-				     struct device_attribute *attr,
-				     char *buf)
+static ssize_t power_profile_show(struct device *dev,
+				  struct device_attribute *attr, char *buf)
 {
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct radeon_device *rdev = ddev->dev_private;
@@ -366,10 +365,8 @@ static ssize_t radeon_get_pm_profile(struct device *dev,
 			  (cp == PM_PROFILE_HIGH) ? "high" : "default");
 }
 
-static ssize_t radeon_set_pm_profile(struct device *dev,
-				     struct device_attribute *attr,
-				     const char *buf,
-				     size_t count)
+static ssize_t power_profile_store(struct device *dev, struct device_attribute *attr,
+				   const char *buf, size_t count)
 {
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct radeon_device *rdev = ddev->dev_private;
@@ -406,9 +403,8 @@ static ssize_t radeon_set_pm_profile(struct device *dev,
 	return count;
 }
 
-static ssize_t radeon_get_pm_method(struct device *dev,
-				    struct device_attribute *attr,
-				    char *buf)
+static ssize_t power_method_show(struct device *dev,
+				 struct device_attribute *attr, char *buf)
 {
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct radeon_device *rdev = ddev->dev_private;
@@ -418,10 +414,9 @@ static ssize_t radeon_get_pm_method(struct device *dev,
 			  (pm == PM_METHOD_PROFILE) ? "profile" : "dpm");
 }
 
-static ssize_t radeon_set_pm_method(struct device *dev,
-				    struct device_attribute *attr,
-				    const char *buf,
-				    size_t count)
+static ssize_t power_method_store(struct device *dev,
+				  struct device_attribute *attr,
+				  const char *buf, size_t count)
 {
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct radeon_device *rdev = ddev->dev_private;
@@ -462,9 +457,8 @@ static ssize_t radeon_set_pm_method(struct device *dev,
 	return count;
 }
 
-static ssize_t radeon_get_dpm_state(struct device *dev,
-				    struct device_attribute *attr,
-				    char *buf)
+static ssize_t power_dpm_state_show(struct device *dev,
+				    struct device_attribute *attr, char *buf)
 {
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct radeon_device *rdev = ddev->dev_private;
@@ -475,10 +469,9 @@ static ssize_t radeon_get_dpm_state(struct device *dev,
 			  (pm == POWER_STATE_TYPE_BALANCED) ? "balanced" : "performance");
 }
 
-static ssize_t radeon_set_dpm_state(struct device *dev,
-				    struct device_attribute *attr,
-				    const char *buf,
-				    size_t count)
+static ssize_t power_dpm_state_store(struct device *dev,
+				     struct device_attribute *attr,
+				     const char *buf, size_t count)
 {
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct radeon_device *rdev = ddev->dev_private;
@@ -506,9 +499,9 @@ static ssize_t radeon_set_dpm_state(struct device *dev,
 	return count;
 }
 
-static ssize_t radeon_get_dpm_forced_performance_level(struct device *dev,
-						       struct device_attribute *attr,
-						       char *buf)
+static ssize_t power_dpm_force_performance_level_show(struct device *dev,
+						      struct device_attribute *attr,
+						      char *buf)
 {
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct radeon_device *rdev = ddev->dev_private;
@@ -523,10 +516,9 @@ static ssize_t radeon_get_dpm_forced_performance_level(struct device *dev,
 			  (level == RADEON_DPM_FORCED_LEVEL_LOW) ? "low" : "high");
 }
 
-static ssize_t radeon_set_dpm_forced_performance_level(struct device *dev,
+static ssize_t power_dpm_force_performance_level_store(struct device *dev,
 						       struct device_attribute *attr,
-						       const char *buf,
-						       size_t count)
+						       const char *buf, size_t count)
 {
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct radeon_device *rdev = ddev->dev_private;
@@ -658,12 +650,10 @@ static ssize_t radeon_hwmon_get_pwm1(struct device *dev,
 	return sprintf(buf, "%i\n", speed);
 }
 
-static DEVICE_ATTR(power_profile, S_IRUGO | S_IWUSR, radeon_get_pm_profile, radeon_set_pm_profile);
-static DEVICE_ATTR(power_method, S_IRUGO | S_IWUSR, radeon_get_pm_method, radeon_set_pm_method);
-static DEVICE_ATTR(power_dpm_state, S_IRUGO | S_IWUSR, radeon_get_dpm_state, radeon_set_dpm_state);
-static DEVICE_ATTR(power_dpm_force_performance_level, S_IRUGO | S_IWUSR,
-		   radeon_get_dpm_forced_performance_level,
-		   radeon_set_dpm_forced_performance_level);
+static DEVICE_ATTR_RW(power_profile);
+static DEVICE_ATTR_RW(power_method);
+static DEVICE_ATTR_RW(power_dpm_state);
+static DEVICE_ATTR_RW(power_dpm_force_performance_level);
 
 static ssize_t radeon_hwmon_show_temp(struct device *dev,
 				      struct device_attribute *attr,
-- 
2.17.1


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

* [PATCH -next] drm/radeon/radeon_pm: use DEVICE_ATTR_RW macro
@ 2021-05-28  7:02 ` YueHaibing
  0 siblings, 0 replies; 12+ messages in thread
From: YueHaibing @ 2021-05-28  7:02 UTC (permalink / raw)
  To: alexander.deucher, christian.koenig, Xinhui.Pan, airlied, daniel
  Cc: YueHaibing, dri-devel, amd-gfx, linux-kernel

Use DEVICE_ATTR_RW() helper instead of plain DEVICE_ATTR(),
which makes the code a bit shorter and easier to read.

Signed-off-by: YueHaibing <yuehaibing@huawei.com>
---
 drivers/gpu/drm/radeon/radeon_pm.c | 56 ++++++++++++------------------
 1 file changed, 23 insertions(+), 33 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c
index 3861c0b98fcf..edf10cc3947e 100644
--- a/drivers/gpu/drm/radeon/radeon_pm.c
+++ b/drivers/gpu/drm/radeon/radeon_pm.c
@@ -352,9 +352,8 @@ static void radeon_pm_print_states(struct radeon_device *rdev)
 	}
 }
 
-static ssize_t radeon_get_pm_profile(struct device *dev,
-				     struct device_attribute *attr,
-				     char *buf)
+static ssize_t power_profile_show(struct device *dev,
+				  struct device_attribute *attr, char *buf)
 {
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct radeon_device *rdev = ddev->dev_private;
@@ -366,10 +365,8 @@ static ssize_t radeon_get_pm_profile(struct device *dev,
 			  (cp == PM_PROFILE_HIGH) ? "high" : "default");
 }
 
-static ssize_t radeon_set_pm_profile(struct device *dev,
-				     struct device_attribute *attr,
-				     const char *buf,
-				     size_t count)
+static ssize_t power_profile_store(struct device *dev, struct device_attribute *attr,
+				   const char *buf, size_t count)
 {
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct radeon_device *rdev = ddev->dev_private;
@@ -406,9 +403,8 @@ static ssize_t radeon_set_pm_profile(struct device *dev,
 	return count;
 }
 
-static ssize_t radeon_get_pm_method(struct device *dev,
-				    struct device_attribute *attr,
-				    char *buf)
+static ssize_t power_method_show(struct device *dev,
+				 struct device_attribute *attr, char *buf)
 {
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct radeon_device *rdev = ddev->dev_private;
@@ -418,10 +414,9 @@ static ssize_t radeon_get_pm_method(struct device *dev,
 			  (pm == PM_METHOD_PROFILE) ? "profile" : "dpm");
 }
 
-static ssize_t radeon_set_pm_method(struct device *dev,
-				    struct device_attribute *attr,
-				    const char *buf,
-				    size_t count)
+static ssize_t power_method_store(struct device *dev,
+				  struct device_attribute *attr,
+				  const char *buf, size_t count)
 {
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct radeon_device *rdev = ddev->dev_private;
@@ -462,9 +457,8 @@ static ssize_t radeon_set_pm_method(struct device *dev,
 	return count;
 }
 
-static ssize_t radeon_get_dpm_state(struct device *dev,
-				    struct device_attribute *attr,
-				    char *buf)
+static ssize_t power_dpm_state_show(struct device *dev,
+				    struct device_attribute *attr, char *buf)
 {
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct radeon_device *rdev = ddev->dev_private;
@@ -475,10 +469,9 @@ static ssize_t radeon_get_dpm_state(struct device *dev,
 			  (pm == POWER_STATE_TYPE_BALANCED) ? "balanced" : "performance");
 }
 
-static ssize_t radeon_set_dpm_state(struct device *dev,
-				    struct device_attribute *attr,
-				    const char *buf,
-				    size_t count)
+static ssize_t power_dpm_state_store(struct device *dev,
+				     struct device_attribute *attr,
+				     const char *buf, size_t count)
 {
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct radeon_device *rdev = ddev->dev_private;
@@ -506,9 +499,9 @@ static ssize_t radeon_set_dpm_state(struct device *dev,
 	return count;
 }
 
-static ssize_t radeon_get_dpm_forced_performance_level(struct device *dev,
-						       struct device_attribute *attr,
-						       char *buf)
+static ssize_t power_dpm_force_performance_level_show(struct device *dev,
+						      struct device_attribute *attr,
+						      char *buf)
 {
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct radeon_device *rdev = ddev->dev_private;
@@ -523,10 +516,9 @@ static ssize_t radeon_get_dpm_forced_performance_level(struct device *dev,
 			  (level == RADEON_DPM_FORCED_LEVEL_LOW) ? "low" : "high");
 }
 
-static ssize_t radeon_set_dpm_forced_performance_level(struct device *dev,
+static ssize_t power_dpm_force_performance_level_store(struct device *dev,
 						       struct device_attribute *attr,
-						       const char *buf,
-						       size_t count)
+						       const char *buf, size_t count)
 {
 	struct drm_device *ddev = dev_get_drvdata(dev);
 	struct radeon_device *rdev = ddev->dev_private;
@@ -658,12 +650,10 @@ static ssize_t radeon_hwmon_get_pwm1(struct device *dev,
 	return sprintf(buf, "%i\n", speed);
 }
 
-static DEVICE_ATTR(power_profile, S_IRUGO | S_IWUSR, radeon_get_pm_profile, radeon_set_pm_profile);
-static DEVICE_ATTR(power_method, S_IRUGO | S_IWUSR, radeon_get_pm_method, radeon_set_pm_method);
-static DEVICE_ATTR(power_dpm_state, S_IRUGO | S_IWUSR, radeon_get_dpm_state, radeon_set_dpm_state);
-static DEVICE_ATTR(power_dpm_force_performance_level, S_IRUGO | S_IWUSR,
-		   radeon_get_dpm_forced_performance_level,
-		   radeon_set_dpm_forced_performance_level);
+static DEVICE_ATTR_RW(power_profile);
+static DEVICE_ATTR_RW(power_method);
+static DEVICE_ATTR_RW(power_dpm_state);
+static DEVICE_ATTR_RW(power_dpm_force_performance_level);
 
 static ssize_t radeon_hwmon_show_temp(struct device *dev,
 				      struct device_attribute *attr,
-- 
2.17.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

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

* Re: [PATCH -next] drm/radeon/radeon_pm: use DEVICE_ATTR_RW macro
  2021-05-28  7:02 ` YueHaibing
  (?)
@ 2021-06-02  1:53   ` Alex Deucher
  -1 siblings, 0 replies; 12+ messages in thread
From: Alex Deucher @ 2021-06-02  1:53 UTC (permalink / raw)
  To: YueHaibing
  Cc: Deucher, Alexander, Christian Koenig, xinhui pan, Dave Airlie,
	Daniel Vetter, Maling list - DRI developers, amd-gfx list, LKML

On Fri, May 28, 2021 at 3:18 AM YueHaibing <yuehaibing@huawei.com> wrote:
>
> Use DEVICE_ATTR_RW() helper instead of plain DEVICE_ATTR(),
> which makes the code a bit shorter and easier to read.
>
> Signed-off-by: YueHaibing <yuehaibing@huawei.com>

I'm not convinced this really buys us anything other than code churn,
but I don't have a particularly strong opinion of others feel
differently.

Alex


> ---
>  drivers/gpu/drm/radeon/radeon_pm.c | 56 ++++++++++++------------------
>  1 file changed, 23 insertions(+), 33 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c
> index 3861c0b98fcf..edf10cc3947e 100644
> --- a/drivers/gpu/drm/radeon/radeon_pm.c
> +++ b/drivers/gpu/drm/radeon/radeon_pm.c
> @@ -352,9 +352,8 @@ static void radeon_pm_print_states(struct radeon_device *rdev)
>         }
>  }
>
> -static ssize_t radeon_get_pm_profile(struct device *dev,
> -                                    struct device_attribute *attr,
> -                                    char *buf)
> +static ssize_t power_profile_show(struct device *dev,
> +                                 struct device_attribute *attr, char *buf)
>  {
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct radeon_device *rdev = ddev->dev_private;
> @@ -366,10 +365,8 @@ static ssize_t radeon_get_pm_profile(struct device *dev,
>                           (cp == PM_PROFILE_HIGH) ? "high" : "default");
>  }
>
> -static ssize_t radeon_set_pm_profile(struct device *dev,
> -                                    struct device_attribute *attr,
> -                                    const char *buf,
> -                                    size_t count)
> +static ssize_t power_profile_store(struct device *dev, struct device_attribute *attr,
> +                                  const char *buf, size_t count)
>  {
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct radeon_device *rdev = ddev->dev_private;
> @@ -406,9 +403,8 @@ static ssize_t radeon_set_pm_profile(struct device *dev,
>         return count;
>  }
>
> -static ssize_t radeon_get_pm_method(struct device *dev,
> -                                   struct device_attribute *attr,
> -                                   char *buf)
> +static ssize_t power_method_show(struct device *dev,
> +                                struct device_attribute *attr, char *buf)
>  {
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct radeon_device *rdev = ddev->dev_private;
> @@ -418,10 +414,9 @@ static ssize_t radeon_get_pm_method(struct device *dev,
>                           (pm == PM_METHOD_PROFILE) ? "profile" : "dpm");
>  }
>
> -static ssize_t radeon_set_pm_method(struct device *dev,
> -                                   struct device_attribute *attr,
> -                                   const char *buf,
> -                                   size_t count)
> +static ssize_t power_method_store(struct device *dev,
> +                                 struct device_attribute *attr,
> +                                 const char *buf, size_t count)
>  {
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct radeon_device *rdev = ddev->dev_private;
> @@ -462,9 +457,8 @@ static ssize_t radeon_set_pm_method(struct device *dev,
>         return count;
>  }
>
> -static ssize_t radeon_get_dpm_state(struct device *dev,
> -                                   struct device_attribute *attr,
> -                                   char *buf)
> +static ssize_t power_dpm_state_show(struct device *dev,
> +                                   struct device_attribute *attr, char *buf)
>  {
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct radeon_device *rdev = ddev->dev_private;
> @@ -475,10 +469,9 @@ static ssize_t radeon_get_dpm_state(struct device *dev,
>                           (pm == POWER_STATE_TYPE_BALANCED) ? "balanced" : "performance");
>  }
>
> -static ssize_t radeon_set_dpm_state(struct device *dev,
> -                                   struct device_attribute *attr,
> -                                   const char *buf,
> -                                   size_t count)
> +static ssize_t power_dpm_state_store(struct device *dev,
> +                                    struct device_attribute *attr,
> +                                    const char *buf, size_t count)
>  {
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct radeon_device *rdev = ddev->dev_private;
> @@ -506,9 +499,9 @@ static ssize_t radeon_set_dpm_state(struct device *dev,
>         return count;
>  }
>
> -static ssize_t radeon_get_dpm_forced_performance_level(struct device *dev,
> -                                                      struct device_attribute *attr,
> -                                                      char *buf)
> +static ssize_t power_dpm_force_performance_level_show(struct device *dev,
> +                                                     struct device_attribute *attr,
> +                                                     char *buf)
>  {
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct radeon_device *rdev = ddev->dev_private;
> @@ -523,10 +516,9 @@ static ssize_t radeon_get_dpm_forced_performance_level(struct device *dev,
>                           (level == RADEON_DPM_FORCED_LEVEL_LOW) ? "low" : "high");
>  }
>
> -static ssize_t radeon_set_dpm_forced_performance_level(struct device *dev,
> +static ssize_t power_dpm_force_performance_level_store(struct device *dev,
>                                                        struct device_attribute *attr,
> -                                                      const char *buf,
> -                                                      size_t count)
> +                                                      const char *buf, size_t count)
>  {
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct radeon_device *rdev = ddev->dev_private;
> @@ -658,12 +650,10 @@ static ssize_t radeon_hwmon_get_pwm1(struct device *dev,
>         return sprintf(buf, "%i\n", speed);
>  }
>
> -static DEVICE_ATTR(power_profile, S_IRUGO | S_IWUSR, radeon_get_pm_profile, radeon_set_pm_profile);
> -static DEVICE_ATTR(power_method, S_IRUGO | S_IWUSR, radeon_get_pm_method, radeon_set_pm_method);
> -static DEVICE_ATTR(power_dpm_state, S_IRUGO | S_IWUSR, radeon_get_dpm_state, radeon_set_dpm_state);
> -static DEVICE_ATTR(power_dpm_force_performance_level, S_IRUGO | S_IWUSR,
> -                  radeon_get_dpm_forced_performance_level,
> -                  radeon_set_dpm_forced_performance_level);
> +static DEVICE_ATTR_RW(power_profile);
> +static DEVICE_ATTR_RW(power_method);
> +static DEVICE_ATTR_RW(power_dpm_state);
> +static DEVICE_ATTR_RW(power_dpm_force_performance_level);
>
>  static ssize_t radeon_hwmon_show_temp(struct device *dev,
>                                       struct device_attribute *attr,
> --
> 2.17.1
>

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

* Re: [PATCH -next] drm/radeon/radeon_pm: use DEVICE_ATTR_RW macro
@ 2021-06-02  1:53   ` Alex Deucher
  0 siblings, 0 replies; 12+ messages in thread
From: Alex Deucher @ 2021-06-02  1:53 UTC (permalink / raw)
  To: YueHaibing
  Cc: Dave Airlie, xinhui pan, LKML, Maling list - DRI developers,
	amd-gfx list, Deucher, Alexander, Christian Koenig

On Fri, May 28, 2021 at 3:18 AM YueHaibing <yuehaibing@huawei.com> wrote:
>
> Use DEVICE_ATTR_RW() helper instead of plain DEVICE_ATTR(),
> which makes the code a bit shorter and easier to read.
>
> Signed-off-by: YueHaibing <yuehaibing@huawei.com>

I'm not convinced this really buys us anything other than code churn,
but I don't have a particularly strong opinion of others feel
differently.

Alex


> ---
>  drivers/gpu/drm/radeon/radeon_pm.c | 56 ++++++++++++------------------
>  1 file changed, 23 insertions(+), 33 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c
> index 3861c0b98fcf..edf10cc3947e 100644
> --- a/drivers/gpu/drm/radeon/radeon_pm.c
> +++ b/drivers/gpu/drm/radeon/radeon_pm.c
> @@ -352,9 +352,8 @@ static void radeon_pm_print_states(struct radeon_device *rdev)
>         }
>  }
>
> -static ssize_t radeon_get_pm_profile(struct device *dev,
> -                                    struct device_attribute *attr,
> -                                    char *buf)
> +static ssize_t power_profile_show(struct device *dev,
> +                                 struct device_attribute *attr, char *buf)
>  {
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct radeon_device *rdev = ddev->dev_private;
> @@ -366,10 +365,8 @@ static ssize_t radeon_get_pm_profile(struct device *dev,
>                           (cp == PM_PROFILE_HIGH) ? "high" : "default");
>  }
>
> -static ssize_t radeon_set_pm_profile(struct device *dev,
> -                                    struct device_attribute *attr,
> -                                    const char *buf,
> -                                    size_t count)
> +static ssize_t power_profile_store(struct device *dev, struct device_attribute *attr,
> +                                  const char *buf, size_t count)
>  {
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct radeon_device *rdev = ddev->dev_private;
> @@ -406,9 +403,8 @@ static ssize_t radeon_set_pm_profile(struct device *dev,
>         return count;
>  }
>
> -static ssize_t radeon_get_pm_method(struct device *dev,
> -                                   struct device_attribute *attr,
> -                                   char *buf)
> +static ssize_t power_method_show(struct device *dev,
> +                                struct device_attribute *attr, char *buf)
>  {
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct radeon_device *rdev = ddev->dev_private;
> @@ -418,10 +414,9 @@ static ssize_t radeon_get_pm_method(struct device *dev,
>                           (pm == PM_METHOD_PROFILE) ? "profile" : "dpm");
>  }
>
> -static ssize_t radeon_set_pm_method(struct device *dev,
> -                                   struct device_attribute *attr,
> -                                   const char *buf,
> -                                   size_t count)
> +static ssize_t power_method_store(struct device *dev,
> +                                 struct device_attribute *attr,
> +                                 const char *buf, size_t count)
>  {
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct radeon_device *rdev = ddev->dev_private;
> @@ -462,9 +457,8 @@ static ssize_t radeon_set_pm_method(struct device *dev,
>         return count;
>  }
>
> -static ssize_t radeon_get_dpm_state(struct device *dev,
> -                                   struct device_attribute *attr,
> -                                   char *buf)
> +static ssize_t power_dpm_state_show(struct device *dev,
> +                                   struct device_attribute *attr, char *buf)
>  {
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct radeon_device *rdev = ddev->dev_private;
> @@ -475,10 +469,9 @@ static ssize_t radeon_get_dpm_state(struct device *dev,
>                           (pm == POWER_STATE_TYPE_BALANCED) ? "balanced" : "performance");
>  }
>
> -static ssize_t radeon_set_dpm_state(struct device *dev,
> -                                   struct device_attribute *attr,
> -                                   const char *buf,
> -                                   size_t count)
> +static ssize_t power_dpm_state_store(struct device *dev,
> +                                    struct device_attribute *attr,
> +                                    const char *buf, size_t count)
>  {
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct radeon_device *rdev = ddev->dev_private;
> @@ -506,9 +499,9 @@ static ssize_t radeon_set_dpm_state(struct device *dev,
>         return count;
>  }
>
> -static ssize_t radeon_get_dpm_forced_performance_level(struct device *dev,
> -                                                      struct device_attribute *attr,
> -                                                      char *buf)
> +static ssize_t power_dpm_force_performance_level_show(struct device *dev,
> +                                                     struct device_attribute *attr,
> +                                                     char *buf)
>  {
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct radeon_device *rdev = ddev->dev_private;
> @@ -523,10 +516,9 @@ static ssize_t radeon_get_dpm_forced_performance_level(struct device *dev,
>                           (level == RADEON_DPM_FORCED_LEVEL_LOW) ? "low" : "high");
>  }
>
> -static ssize_t radeon_set_dpm_forced_performance_level(struct device *dev,
> +static ssize_t power_dpm_force_performance_level_store(struct device *dev,
>                                                        struct device_attribute *attr,
> -                                                      const char *buf,
> -                                                      size_t count)
> +                                                      const char *buf, size_t count)
>  {
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct radeon_device *rdev = ddev->dev_private;
> @@ -658,12 +650,10 @@ static ssize_t radeon_hwmon_get_pwm1(struct device *dev,
>         return sprintf(buf, "%i\n", speed);
>  }
>
> -static DEVICE_ATTR(power_profile, S_IRUGO | S_IWUSR, radeon_get_pm_profile, radeon_set_pm_profile);
> -static DEVICE_ATTR(power_method, S_IRUGO | S_IWUSR, radeon_get_pm_method, radeon_set_pm_method);
> -static DEVICE_ATTR(power_dpm_state, S_IRUGO | S_IWUSR, radeon_get_dpm_state, radeon_set_dpm_state);
> -static DEVICE_ATTR(power_dpm_force_performance_level, S_IRUGO | S_IWUSR,
> -                  radeon_get_dpm_forced_performance_level,
> -                  radeon_set_dpm_forced_performance_level);
> +static DEVICE_ATTR_RW(power_profile);
> +static DEVICE_ATTR_RW(power_method);
> +static DEVICE_ATTR_RW(power_dpm_state);
> +static DEVICE_ATTR_RW(power_dpm_force_performance_level);
>
>  static ssize_t radeon_hwmon_show_temp(struct device *dev,
>                                       struct device_attribute *attr,
> --
> 2.17.1
>

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

* Re: [PATCH -next] drm/radeon/radeon_pm: use DEVICE_ATTR_RW macro
@ 2021-06-02  1:53   ` Alex Deucher
  0 siblings, 0 replies; 12+ messages in thread
From: Alex Deucher @ 2021-06-02  1:53 UTC (permalink / raw)
  To: YueHaibing
  Cc: Dave Airlie, xinhui pan, LKML, Maling list - DRI developers,
	amd-gfx list, Daniel Vetter, Deucher, Alexander,
	Christian Koenig

On Fri, May 28, 2021 at 3:18 AM YueHaibing <yuehaibing@huawei.com> wrote:
>
> Use DEVICE_ATTR_RW() helper instead of plain DEVICE_ATTR(),
> which makes the code a bit shorter and easier to read.
>
> Signed-off-by: YueHaibing <yuehaibing@huawei.com>

I'm not convinced this really buys us anything other than code churn,
but I don't have a particularly strong opinion of others feel
differently.

Alex


> ---
>  drivers/gpu/drm/radeon/radeon_pm.c | 56 ++++++++++++------------------
>  1 file changed, 23 insertions(+), 33 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c
> index 3861c0b98fcf..edf10cc3947e 100644
> --- a/drivers/gpu/drm/radeon/radeon_pm.c
> +++ b/drivers/gpu/drm/radeon/radeon_pm.c
> @@ -352,9 +352,8 @@ static void radeon_pm_print_states(struct radeon_device *rdev)
>         }
>  }
>
> -static ssize_t radeon_get_pm_profile(struct device *dev,
> -                                    struct device_attribute *attr,
> -                                    char *buf)
> +static ssize_t power_profile_show(struct device *dev,
> +                                 struct device_attribute *attr, char *buf)
>  {
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct radeon_device *rdev = ddev->dev_private;
> @@ -366,10 +365,8 @@ static ssize_t radeon_get_pm_profile(struct device *dev,
>                           (cp == PM_PROFILE_HIGH) ? "high" : "default");
>  }
>
> -static ssize_t radeon_set_pm_profile(struct device *dev,
> -                                    struct device_attribute *attr,
> -                                    const char *buf,
> -                                    size_t count)
> +static ssize_t power_profile_store(struct device *dev, struct device_attribute *attr,
> +                                  const char *buf, size_t count)
>  {
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct radeon_device *rdev = ddev->dev_private;
> @@ -406,9 +403,8 @@ static ssize_t radeon_set_pm_profile(struct device *dev,
>         return count;
>  }
>
> -static ssize_t radeon_get_pm_method(struct device *dev,
> -                                   struct device_attribute *attr,
> -                                   char *buf)
> +static ssize_t power_method_show(struct device *dev,
> +                                struct device_attribute *attr, char *buf)
>  {
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct radeon_device *rdev = ddev->dev_private;
> @@ -418,10 +414,9 @@ static ssize_t radeon_get_pm_method(struct device *dev,
>                           (pm == PM_METHOD_PROFILE) ? "profile" : "dpm");
>  }
>
> -static ssize_t radeon_set_pm_method(struct device *dev,
> -                                   struct device_attribute *attr,
> -                                   const char *buf,
> -                                   size_t count)
> +static ssize_t power_method_store(struct device *dev,
> +                                 struct device_attribute *attr,
> +                                 const char *buf, size_t count)
>  {
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct radeon_device *rdev = ddev->dev_private;
> @@ -462,9 +457,8 @@ static ssize_t radeon_set_pm_method(struct device *dev,
>         return count;
>  }
>
> -static ssize_t radeon_get_dpm_state(struct device *dev,
> -                                   struct device_attribute *attr,
> -                                   char *buf)
> +static ssize_t power_dpm_state_show(struct device *dev,
> +                                   struct device_attribute *attr, char *buf)
>  {
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct radeon_device *rdev = ddev->dev_private;
> @@ -475,10 +469,9 @@ static ssize_t radeon_get_dpm_state(struct device *dev,
>                           (pm == POWER_STATE_TYPE_BALANCED) ? "balanced" : "performance");
>  }
>
> -static ssize_t radeon_set_dpm_state(struct device *dev,
> -                                   struct device_attribute *attr,
> -                                   const char *buf,
> -                                   size_t count)
> +static ssize_t power_dpm_state_store(struct device *dev,
> +                                    struct device_attribute *attr,
> +                                    const char *buf, size_t count)
>  {
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct radeon_device *rdev = ddev->dev_private;
> @@ -506,9 +499,9 @@ static ssize_t radeon_set_dpm_state(struct device *dev,
>         return count;
>  }
>
> -static ssize_t radeon_get_dpm_forced_performance_level(struct device *dev,
> -                                                      struct device_attribute *attr,
> -                                                      char *buf)
> +static ssize_t power_dpm_force_performance_level_show(struct device *dev,
> +                                                     struct device_attribute *attr,
> +                                                     char *buf)
>  {
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct radeon_device *rdev = ddev->dev_private;
> @@ -523,10 +516,9 @@ static ssize_t radeon_get_dpm_forced_performance_level(struct device *dev,
>                           (level == RADEON_DPM_FORCED_LEVEL_LOW) ? "low" : "high");
>  }
>
> -static ssize_t radeon_set_dpm_forced_performance_level(struct device *dev,
> +static ssize_t power_dpm_force_performance_level_store(struct device *dev,
>                                                        struct device_attribute *attr,
> -                                                      const char *buf,
> -                                                      size_t count)
> +                                                      const char *buf, size_t count)
>  {
>         struct drm_device *ddev = dev_get_drvdata(dev);
>         struct radeon_device *rdev = ddev->dev_private;
> @@ -658,12 +650,10 @@ static ssize_t radeon_hwmon_get_pwm1(struct device *dev,
>         return sprintf(buf, "%i\n", speed);
>  }
>
> -static DEVICE_ATTR(power_profile, S_IRUGO | S_IWUSR, radeon_get_pm_profile, radeon_set_pm_profile);
> -static DEVICE_ATTR(power_method, S_IRUGO | S_IWUSR, radeon_get_pm_method, radeon_set_pm_method);
> -static DEVICE_ATTR(power_dpm_state, S_IRUGO | S_IWUSR, radeon_get_dpm_state, radeon_set_dpm_state);
> -static DEVICE_ATTR(power_dpm_force_performance_level, S_IRUGO | S_IWUSR,
> -                  radeon_get_dpm_forced_performance_level,
> -                  radeon_set_dpm_forced_performance_level);
> +static DEVICE_ATTR_RW(power_profile);
> +static DEVICE_ATTR_RW(power_method);
> +static DEVICE_ATTR_RW(power_dpm_state);
> +static DEVICE_ATTR_RW(power_dpm_force_performance_level);
>
>  static ssize_t radeon_hwmon_show_temp(struct device *dev,
>                                       struct device_attribute *attr,
> --
> 2.17.1
>
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

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

* Re: [PATCH -next] drm/radeon/radeon_pm: use DEVICE_ATTR_RW macro
  2021-06-02  1:53   ` Alex Deucher
  (?)
@ 2021-06-02  6:41     ` Christian König
  -1 siblings, 0 replies; 12+ messages in thread
From: Christian König @ 2021-06-02  6:41 UTC (permalink / raw)
  To: Alex Deucher, YueHaibing
  Cc: Dave Airlie, xinhui pan, LKML, Maling list - DRI developers,
	amd-gfx list, Daniel Vetter, Deucher, Alexander,
	Christian Koenig



Am 02.06.21 um 03:53 schrieb Alex Deucher:
> On Fri, May 28, 2021 at 3:18 AM YueHaibing <yuehaibing@huawei.com> wrote:
>> Use DEVICE_ATTR_RW() helper instead of plain DEVICE_ATTR(),
>> which makes the code a bit shorter and easier to read.
>>
>> Signed-off-by: YueHaibing <yuehaibing@huawei.com>
> I'm not convinced this really buys us anything other than code churn,
> but I don't have a particularly strong opinion of others feel
> differently.

I agree, especially dropping the amdgpu prefix from the functions 
doesn't sound like something we want.

Christian.

>
> Alex
>
>
>> ---
>>   drivers/gpu/drm/radeon/radeon_pm.c | 56 ++++++++++++------------------
>>   1 file changed, 23 insertions(+), 33 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c
>> index 3861c0b98fcf..edf10cc3947e 100644
>> --- a/drivers/gpu/drm/radeon/radeon_pm.c
>> +++ b/drivers/gpu/drm/radeon/radeon_pm.c
>> @@ -352,9 +352,8 @@ static void radeon_pm_print_states(struct radeon_device *rdev)
>>          }
>>   }
>>
>> -static ssize_t radeon_get_pm_profile(struct device *dev,
>> -                                    struct device_attribute *attr,
>> -                                    char *buf)
>> +static ssize_t power_profile_show(struct device *dev,
>> +                                 struct device_attribute *attr, char *buf)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -366,10 +365,8 @@ static ssize_t radeon_get_pm_profile(struct device *dev,
>>                            (cp == PM_PROFILE_HIGH) ? "high" : "default");
>>   }
>>
>> -static ssize_t radeon_set_pm_profile(struct device *dev,
>> -                                    struct device_attribute *attr,
>> -                                    const char *buf,
>> -                                    size_t count)
>> +static ssize_t power_profile_store(struct device *dev, struct device_attribute *attr,
>> +                                  const char *buf, size_t count)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -406,9 +403,8 @@ static ssize_t radeon_set_pm_profile(struct device *dev,
>>          return count;
>>   }
>>
>> -static ssize_t radeon_get_pm_method(struct device *dev,
>> -                                   struct device_attribute *attr,
>> -                                   char *buf)
>> +static ssize_t power_method_show(struct device *dev,
>> +                                struct device_attribute *attr, char *buf)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -418,10 +414,9 @@ static ssize_t radeon_get_pm_method(struct device *dev,
>>                            (pm == PM_METHOD_PROFILE) ? "profile" : "dpm");
>>   }
>>
>> -static ssize_t radeon_set_pm_method(struct device *dev,
>> -                                   struct device_attribute *attr,
>> -                                   const char *buf,
>> -                                   size_t count)
>> +static ssize_t power_method_store(struct device *dev,
>> +                                 struct device_attribute *attr,
>> +                                 const char *buf, size_t count)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -462,9 +457,8 @@ static ssize_t radeon_set_pm_method(struct device *dev,
>>          return count;
>>   }
>>
>> -static ssize_t radeon_get_dpm_state(struct device *dev,
>> -                                   struct device_attribute *attr,
>> -                                   char *buf)
>> +static ssize_t power_dpm_state_show(struct device *dev,
>> +                                   struct device_attribute *attr, char *buf)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -475,10 +469,9 @@ static ssize_t radeon_get_dpm_state(struct device *dev,
>>                            (pm == POWER_STATE_TYPE_BALANCED) ? "balanced" : "performance");
>>   }
>>
>> -static ssize_t radeon_set_dpm_state(struct device *dev,
>> -                                   struct device_attribute *attr,
>> -                                   const char *buf,
>> -                                   size_t count)
>> +static ssize_t power_dpm_state_store(struct device *dev,
>> +                                    struct device_attribute *attr,
>> +                                    const char *buf, size_t count)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -506,9 +499,9 @@ static ssize_t radeon_set_dpm_state(struct device *dev,
>>          return count;
>>   }
>>
>> -static ssize_t radeon_get_dpm_forced_performance_level(struct device *dev,
>> -                                                      struct device_attribute *attr,
>> -                                                      char *buf)
>> +static ssize_t power_dpm_force_performance_level_show(struct device *dev,
>> +                                                     struct device_attribute *attr,
>> +                                                     char *buf)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -523,10 +516,9 @@ static ssize_t radeon_get_dpm_forced_performance_level(struct device *dev,
>>                            (level == RADEON_DPM_FORCED_LEVEL_LOW) ? "low" : "high");
>>   }
>>
>> -static ssize_t radeon_set_dpm_forced_performance_level(struct device *dev,
>> +static ssize_t power_dpm_force_performance_level_store(struct device *dev,
>>                                                         struct device_attribute *attr,
>> -                                                      const char *buf,
>> -                                                      size_t count)
>> +                                                      const char *buf, size_t count)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -658,12 +650,10 @@ static ssize_t radeon_hwmon_get_pwm1(struct device *dev,
>>          return sprintf(buf, "%i\n", speed);
>>   }
>>
>> -static DEVICE_ATTR(power_profile, S_IRUGO | S_IWUSR, radeon_get_pm_profile, radeon_set_pm_profile);
>> -static DEVICE_ATTR(power_method, S_IRUGO | S_IWUSR, radeon_get_pm_method, radeon_set_pm_method);
>> -static DEVICE_ATTR(power_dpm_state, S_IRUGO | S_IWUSR, radeon_get_dpm_state, radeon_set_dpm_state);
>> -static DEVICE_ATTR(power_dpm_force_performance_level, S_IRUGO | S_IWUSR,
>> -                  radeon_get_dpm_forced_performance_level,
>> -                  radeon_set_dpm_forced_performance_level);
>> +static DEVICE_ATTR_RW(power_profile);
>> +static DEVICE_ATTR_RW(power_method);
>> +static DEVICE_ATTR_RW(power_dpm_state);
>> +static DEVICE_ATTR_RW(power_dpm_force_performance_level);
>>
>>   static ssize_t radeon_hwmon_show_temp(struct device *dev,
>>                                        struct device_attribute *attr,
>> --
>> 2.17.1
>>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


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

* Re: [PATCH -next] drm/radeon/radeon_pm: use DEVICE_ATTR_RW macro
@ 2021-06-02  6:41     ` Christian König
  0 siblings, 0 replies; 12+ messages in thread
From: Christian König @ 2021-06-02  6:41 UTC (permalink / raw)
  To: Alex Deucher, YueHaibing
  Cc: Dave Airlie, xinhui pan, LKML, amd-gfx list,
	Maling list - DRI developers, Deucher, Alexander,
	Christian Koenig



Am 02.06.21 um 03:53 schrieb Alex Deucher:
> On Fri, May 28, 2021 at 3:18 AM YueHaibing <yuehaibing@huawei.com> wrote:
>> Use DEVICE_ATTR_RW() helper instead of plain DEVICE_ATTR(),
>> which makes the code a bit shorter and easier to read.
>>
>> Signed-off-by: YueHaibing <yuehaibing@huawei.com>
> I'm not convinced this really buys us anything other than code churn,
> but I don't have a particularly strong opinion of others feel
> differently.

I agree, especially dropping the amdgpu prefix from the functions 
doesn't sound like something we want.

Christian.

>
> Alex
>
>
>> ---
>>   drivers/gpu/drm/radeon/radeon_pm.c | 56 ++++++++++++------------------
>>   1 file changed, 23 insertions(+), 33 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c
>> index 3861c0b98fcf..edf10cc3947e 100644
>> --- a/drivers/gpu/drm/radeon/radeon_pm.c
>> +++ b/drivers/gpu/drm/radeon/radeon_pm.c
>> @@ -352,9 +352,8 @@ static void radeon_pm_print_states(struct radeon_device *rdev)
>>          }
>>   }
>>
>> -static ssize_t radeon_get_pm_profile(struct device *dev,
>> -                                    struct device_attribute *attr,
>> -                                    char *buf)
>> +static ssize_t power_profile_show(struct device *dev,
>> +                                 struct device_attribute *attr, char *buf)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -366,10 +365,8 @@ static ssize_t radeon_get_pm_profile(struct device *dev,
>>                            (cp == PM_PROFILE_HIGH) ? "high" : "default");
>>   }
>>
>> -static ssize_t radeon_set_pm_profile(struct device *dev,
>> -                                    struct device_attribute *attr,
>> -                                    const char *buf,
>> -                                    size_t count)
>> +static ssize_t power_profile_store(struct device *dev, struct device_attribute *attr,
>> +                                  const char *buf, size_t count)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -406,9 +403,8 @@ static ssize_t radeon_set_pm_profile(struct device *dev,
>>          return count;
>>   }
>>
>> -static ssize_t radeon_get_pm_method(struct device *dev,
>> -                                   struct device_attribute *attr,
>> -                                   char *buf)
>> +static ssize_t power_method_show(struct device *dev,
>> +                                struct device_attribute *attr, char *buf)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -418,10 +414,9 @@ static ssize_t radeon_get_pm_method(struct device *dev,
>>                            (pm == PM_METHOD_PROFILE) ? "profile" : "dpm");
>>   }
>>
>> -static ssize_t radeon_set_pm_method(struct device *dev,
>> -                                   struct device_attribute *attr,
>> -                                   const char *buf,
>> -                                   size_t count)
>> +static ssize_t power_method_store(struct device *dev,
>> +                                 struct device_attribute *attr,
>> +                                 const char *buf, size_t count)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -462,9 +457,8 @@ static ssize_t radeon_set_pm_method(struct device *dev,
>>          return count;
>>   }
>>
>> -static ssize_t radeon_get_dpm_state(struct device *dev,
>> -                                   struct device_attribute *attr,
>> -                                   char *buf)
>> +static ssize_t power_dpm_state_show(struct device *dev,
>> +                                   struct device_attribute *attr, char *buf)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -475,10 +469,9 @@ static ssize_t radeon_get_dpm_state(struct device *dev,
>>                            (pm == POWER_STATE_TYPE_BALANCED) ? "balanced" : "performance");
>>   }
>>
>> -static ssize_t radeon_set_dpm_state(struct device *dev,
>> -                                   struct device_attribute *attr,
>> -                                   const char *buf,
>> -                                   size_t count)
>> +static ssize_t power_dpm_state_store(struct device *dev,
>> +                                    struct device_attribute *attr,
>> +                                    const char *buf, size_t count)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -506,9 +499,9 @@ static ssize_t radeon_set_dpm_state(struct device *dev,
>>          return count;
>>   }
>>
>> -static ssize_t radeon_get_dpm_forced_performance_level(struct device *dev,
>> -                                                      struct device_attribute *attr,
>> -                                                      char *buf)
>> +static ssize_t power_dpm_force_performance_level_show(struct device *dev,
>> +                                                     struct device_attribute *attr,
>> +                                                     char *buf)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -523,10 +516,9 @@ static ssize_t radeon_get_dpm_forced_performance_level(struct device *dev,
>>                            (level == RADEON_DPM_FORCED_LEVEL_LOW) ? "low" : "high");
>>   }
>>
>> -static ssize_t radeon_set_dpm_forced_performance_level(struct device *dev,
>> +static ssize_t power_dpm_force_performance_level_store(struct device *dev,
>>                                                         struct device_attribute *attr,
>> -                                                      const char *buf,
>> -                                                      size_t count)
>> +                                                      const char *buf, size_t count)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -658,12 +650,10 @@ static ssize_t radeon_hwmon_get_pwm1(struct device *dev,
>>          return sprintf(buf, "%i\n", speed);
>>   }
>>
>> -static DEVICE_ATTR(power_profile, S_IRUGO | S_IWUSR, radeon_get_pm_profile, radeon_set_pm_profile);
>> -static DEVICE_ATTR(power_method, S_IRUGO | S_IWUSR, radeon_get_pm_method, radeon_set_pm_method);
>> -static DEVICE_ATTR(power_dpm_state, S_IRUGO | S_IWUSR, radeon_get_dpm_state, radeon_set_dpm_state);
>> -static DEVICE_ATTR(power_dpm_force_performance_level, S_IRUGO | S_IWUSR,
>> -                  radeon_get_dpm_forced_performance_level,
>> -                  radeon_set_dpm_forced_performance_level);
>> +static DEVICE_ATTR_RW(power_profile);
>> +static DEVICE_ATTR_RW(power_method);
>> +static DEVICE_ATTR_RW(power_dpm_state);
>> +static DEVICE_ATTR_RW(power_dpm_force_performance_level);
>>
>>   static ssize_t radeon_hwmon_show_temp(struct device *dev,
>>                                        struct device_attribute *attr,
>> --
>> 2.17.1
>>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


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

* Re: [PATCH -next] drm/radeon/radeon_pm: use DEVICE_ATTR_RW macro
@ 2021-06-02  6:41     ` Christian König
  0 siblings, 0 replies; 12+ messages in thread
From: Christian König @ 2021-06-02  6:41 UTC (permalink / raw)
  To: Alex Deucher, YueHaibing
  Cc: Dave Airlie, xinhui pan, LKML, amd-gfx list,
	Maling list - DRI developers, Daniel Vetter, Deucher, Alexander,
	Christian Koenig



Am 02.06.21 um 03:53 schrieb Alex Deucher:
> On Fri, May 28, 2021 at 3:18 AM YueHaibing <yuehaibing@huawei.com> wrote:
>> Use DEVICE_ATTR_RW() helper instead of plain DEVICE_ATTR(),
>> which makes the code a bit shorter and easier to read.
>>
>> Signed-off-by: YueHaibing <yuehaibing@huawei.com>
> I'm not convinced this really buys us anything other than code churn,
> but I don't have a particularly strong opinion of others feel
> differently.

I agree, especially dropping the amdgpu prefix from the functions 
doesn't sound like something we want.

Christian.

>
> Alex
>
>
>> ---
>>   drivers/gpu/drm/radeon/radeon_pm.c | 56 ++++++++++++------------------
>>   1 file changed, 23 insertions(+), 33 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c
>> index 3861c0b98fcf..edf10cc3947e 100644
>> --- a/drivers/gpu/drm/radeon/radeon_pm.c
>> +++ b/drivers/gpu/drm/radeon/radeon_pm.c
>> @@ -352,9 +352,8 @@ static void radeon_pm_print_states(struct radeon_device *rdev)
>>          }
>>   }
>>
>> -static ssize_t radeon_get_pm_profile(struct device *dev,
>> -                                    struct device_attribute *attr,
>> -                                    char *buf)
>> +static ssize_t power_profile_show(struct device *dev,
>> +                                 struct device_attribute *attr, char *buf)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -366,10 +365,8 @@ static ssize_t radeon_get_pm_profile(struct device *dev,
>>                            (cp == PM_PROFILE_HIGH) ? "high" : "default");
>>   }
>>
>> -static ssize_t radeon_set_pm_profile(struct device *dev,
>> -                                    struct device_attribute *attr,
>> -                                    const char *buf,
>> -                                    size_t count)
>> +static ssize_t power_profile_store(struct device *dev, struct device_attribute *attr,
>> +                                  const char *buf, size_t count)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -406,9 +403,8 @@ static ssize_t radeon_set_pm_profile(struct device *dev,
>>          return count;
>>   }
>>
>> -static ssize_t radeon_get_pm_method(struct device *dev,
>> -                                   struct device_attribute *attr,
>> -                                   char *buf)
>> +static ssize_t power_method_show(struct device *dev,
>> +                                struct device_attribute *attr, char *buf)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -418,10 +414,9 @@ static ssize_t radeon_get_pm_method(struct device *dev,
>>                            (pm == PM_METHOD_PROFILE) ? "profile" : "dpm");
>>   }
>>
>> -static ssize_t radeon_set_pm_method(struct device *dev,
>> -                                   struct device_attribute *attr,
>> -                                   const char *buf,
>> -                                   size_t count)
>> +static ssize_t power_method_store(struct device *dev,
>> +                                 struct device_attribute *attr,
>> +                                 const char *buf, size_t count)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -462,9 +457,8 @@ static ssize_t radeon_set_pm_method(struct device *dev,
>>          return count;
>>   }
>>
>> -static ssize_t radeon_get_dpm_state(struct device *dev,
>> -                                   struct device_attribute *attr,
>> -                                   char *buf)
>> +static ssize_t power_dpm_state_show(struct device *dev,
>> +                                   struct device_attribute *attr, char *buf)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -475,10 +469,9 @@ static ssize_t radeon_get_dpm_state(struct device *dev,
>>                            (pm == POWER_STATE_TYPE_BALANCED) ? "balanced" : "performance");
>>   }
>>
>> -static ssize_t radeon_set_dpm_state(struct device *dev,
>> -                                   struct device_attribute *attr,
>> -                                   const char *buf,
>> -                                   size_t count)
>> +static ssize_t power_dpm_state_store(struct device *dev,
>> +                                    struct device_attribute *attr,
>> +                                    const char *buf, size_t count)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -506,9 +499,9 @@ static ssize_t radeon_set_dpm_state(struct device *dev,
>>          return count;
>>   }
>>
>> -static ssize_t radeon_get_dpm_forced_performance_level(struct device *dev,
>> -                                                      struct device_attribute *attr,
>> -                                                      char *buf)
>> +static ssize_t power_dpm_force_performance_level_show(struct device *dev,
>> +                                                     struct device_attribute *attr,
>> +                                                     char *buf)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -523,10 +516,9 @@ static ssize_t radeon_get_dpm_forced_performance_level(struct device *dev,
>>                            (level == RADEON_DPM_FORCED_LEVEL_LOW) ? "low" : "high");
>>   }
>>
>> -static ssize_t radeon_set_dpm_forced_performance_level(struct device *dev,
>> +static ssize_t power_dpm_force_performance_level_store(struct device *dev,
>>                                                         struct device_attribute *attr,
>> -                                                      const char *buf,
>> -                                                      size_t count)
>> +                                                      const char *buf, size_t count)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -658,12 +650,10 @@ static ssize_t radeon_hwmon_get_pwm1(struct device *dev,
>>          return sprintf(buf, "%i\n", speed);
>>   }
>>
>> -static DEVICE_ATTR(power_profile, S_IRUGO | S_IWUSR, radeon_get_pm_profile, radeon_set_pm_profile);
>> -static DEVICE_ATTR(power_method, S_IRUGO | S_IWUSR, radeon_get_pm_method, radeon_set_pm_method);
>> -static DEVICE_ATTR(power_dpm_state, S_IRUGO | S_IWUSR, radeon_get_dpm_state, radeon_set_dpm_state);
>> -static DEVICE_ATTR(power_dpm_force_performance_level, S_IRUGO | S_IWUSR,
>> -                  radeon_get_dpm_forced_performance_level,
>> -                  radeon_set_dpm_forced_performance_level);
>> +static DEVICE_ATTR_RW(power_profile);
>> +static DEVICE_ATTR_RW(power_method);
>> +static DEVICE_ATTR_RW(power_dpm_state);
>> +static DEVICE_ATTR_RW(power_dpm_force_performance_level);
>>
>>   static ssize_t radeon_hwmon_show_temp(struct device *dev,
>>                                        struct device_attribute *attr,
>> --
>> 2.17.1
>>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

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

* Re: [PATCH -next] drm/radeon/radeon_pm: use DEVICE_ATTR_RW macro
  2021-06-02  1:53   ` Alex Deucher
  (?)
@ 2021-06-02  6:41     ` Christian König
  -1 siblings, 0 replies; 12+ messages in thread
From: Christian König @ 2021-06-02  6:41 UTC (permalink / raw)
  To: Alex Deucher, YueHaibing
  Cc: Dave Airlie, xinhui pan, LKML, Maling list - DRI developers,
	amd-gfx list, Daniel Vetter, Deucher, Alexander,
	Christian Koenig



Am 02.06.21 um 03:53 schrieb Alex Deucher:
> On Fri, May 28, 2021 at 3:18 AM YueHaibing <yuehaibing@huawei.com> wrote:
>> Use DEVICE_ATTR_RW() helper instead of plain DEVICE_ATTR(),
>> which makes the code a bit shorter and easier to read.
>>
>> Signed-off-by: YueHaibing <yuehaibing@huawei.com>
> I'm not convinced this really buys us anything other than code churn,
> but I don't have a particularly strong opinion of others feel
> differently.

I agree, especially dropping the amdgpu/radeon prefix from the functions 
doesn't sound like something we want.

Christian.

>
> Alex
>
>
>> ---
>>   drivers/gpu/drm/radeon/radeon_pm.c | 56 ++++++++++++------------------
>>   1 file changed, 23 insertions(+), 33 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c
>> index 3861c0b98fcf..edf10cc3947e 100644
>> --- a/drivers/gpu/drm/radeon/radeon_pm.c
>> +++ b/drivers/gpu/drm/radeon/radeon_pm.c
>> @@ -352,9 +352,8 @@ static void radeon_pm_print_states(struct radeon_device *rdev)
>>          }
>>   }
>>
>> -static ssize_t radeon_get_pm_profile(struct device *dev,
>> -                                    struct device_attribute *attr,
>> -                                    char *buf)
>> +static ssize_t power_profile_show(struct device *dev,
>> +                                 struct device_attribute *attr, char *buf)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -366,10 +365,8 @@ static ssize_t radeon_get_pm_profile(struct device *dev,
>>                            (cp == PM_PROFILE_HIGH) ? "high" : "default");
>>   }
>>
>> -static ssize_t radeon_set_pm_profile(struct device *dev,
>> -                                    struct device_attribute *attr,
>> -                                    const char *buf,
>> -                                    size_t count)
>> +static ssize_t power_profile_store(struct device *dev, struct device_attribute *attr,
>> +                                  const char *buf, size_t count)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -406,9 +403,8 @@ static ssize_t radeon_set_pm_profile(struct device *dev,
>>          return count;
>>   }
>>
>> -static ssize_t radeon_get_pm_method(struct device *dev,
>> -                                   struct device_attribute *attr,
>> -                                   char *buf)
>> +static ssize_t power_method_show(struct device *dev,
>> +                                struct device_attribute *attr, char *buf)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -418,10 +414,9 @@ static ssize_t radeon_get_pm_method(struct device *dev,
>>                            (pm == PM_METHOD_PROFILE) ? "profile" : "dpm");
>>   }
>>
>> -static ssize_t radeon_set_pm_method(struct device *dev,
>> -                                   struct device_attribute *attr,
>> -                                   const char *buf,
>> -                                   size_t count)
>> +static ssize_t power_method_store(struct device *dev,
>> +                                 struct device_attribute *attr,
>> +                                 const char *buf, size_t count)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -462,9 +457,8 @@ static ssize_t radeon_set_pm_method(struct device *dev,
>>          return count;
>>   }
>>
>> -static ssize_t radeon_get_dpm_state(struct device *dev,
>> -                                   struct device_attribute *attr,
>> -                                   char *buf)
>> +static ssize_t power_dpm_state_show(struct device *dev,
>> +                                   struct device_attribute *attr, char *buf)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -475,10 +469,9 @@ static ssize_t radeon_get_dpm_state(struct device *dev,
>>                            (pm == POWER_STATE_TYPE_BALANCED) ? "balanced" : "performance");
>>   }
>>
>> -static ssize_t radeon_set_dpm_state(struct device *dev,
>> -                                   struct device_attribute *attr,
>> -                                   const char *buf,
>> -                                   size_t count)
>> +static ssize_t power_dpm_state_store(struct device *dev,
>> +                                    struct device_attribute *attr,
>> +                                    const char *buf, size_t count)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -506,9 +499,9 @@ static ssize_t radeon_set_dpm_state(struct device *dev,
>>          return count;
>>   }
>>
>> -static ssize_t radeon_get_dpm_forced_performance_level(struct device *dev,
>> -                                                      struct device_attribute *attr,
>> -                                                      char *buf)
>> +static ssize_t power_dpm_force_performance_level_show(struct device *dev,
>> +                                                     struct device_attribute *attr,
>> +                                                     char *buf)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -523,10 +516,9 @@ static ssize_t radeon_get_dpm_forced_performance_level(struct device *dev,
>>                            (level == RADEON_DPM_FORCED_LEVEL_LOW) ? "low" : "high");
>>   }
>>
>> -static ssize_t radeon_set_dpm_forced_performance_level(struct device *dev,
>> +static ssize_t power_dpm_force_performance_level_store(struct device *dev,
>>                                                         struct device_attribute *attr,
>> -                                                      const char *buf,
>> -                                                      size_t count)
>> +                                                      const char *buf, size_t count)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -658,12 +650,10 @@ static ssize_t radeon_hwmon_get_pwm1(struct device *dev,
>>          return sprintf(buf, "%i\n", speed);
>>   }
>>
>> -static DEVICE_ATTR(power_profile, S_IRUGO | S_IWUSR, radeon_get_pm_profile, radeon_set_pm_profile);
>> -static DEVICE_ATTR(power_method, S_IRUGO | S_IWUSR, radeon_get_pm_method, radeon_set_pm_method);
>> -static DEVICE_ATTR(power_dpm_state, S_IRUGO | S_IWUSR, radeon_get_dpm_state, radeon_set_dpm_state);
>> -static DEVICE_ATTR(power_dpm_force_performance_level, S_IRUGO | S_IWUSR,
>> -                  radeon_get_dpm_forced_performance_level,
>> -                  radeon_set_dpm_forced_performance_level);
>> +static DEVICE_ATTR_RW(power_profile);
>> +static DEVICE_ATTR_RW(power_method);
>> +static DEVICE_ATTR_RW(power_dpm_state);
>> +static DEVICE_ATTR_RW(power_dpm_force_performance_level);
>>
>>   static ssize_t radeon_hwmon_show_temp(struct device *dev,
>>                                        struct device_attribute *attr,
>> --
>> 2.17.1
>>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


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

* Re: [PATCH -next] drm/radeon/radeon_pm: use DEVICE_ATTR_RW macro
@ 2021-06-02  6:41     ` Christian König
  0 siblings, 0 replies; 12+ messages in thread
From: Christian König @ 2021-06-02  6:41 UTC (permalink / raw)
  To: Alex Deucher, YueHaibing
  Cc: Dave Airlie, xinhui pan, LKML, amd-gfx list,
	Maling list - DRI developers, Deucher, Alexander,
	Christian Koenig



Am 02.06.21 um 03:53 schrieb Alex Deucher:
> On Fri, May 28, 2021 at 3:18 AM YueHaibing <yuehaibing@huawei.com> wrote:
>> Use DEVICE_ATTR_RW() helper instead of plain DEVICE_ATTR(),
>> which makes the code a bit shorter and easier to read.
>>
>> Signed-off-by: YueHaibing <yuehaibing@huawei.com>
> I'm not convinced this really buys us anything other than code churn,
> but I don't have a particularly strong opinion of others feel
> differently.

I agree, especially dropping the amdgpu/radeon prefix from the functions 
doesn't sound like something we want.

Christian.

>
> Alex
>
>
>> ---
>>   drivers/gpu/drm/radeon/radeon_pm.c | 56 ++++++++++++------------------
>>   1 file changed, 23 insertions(+), 33 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c
>> index 3861c0b98fcf..edf10cc3947e 100644
>> --- a/drivers/gpu/drm/radeon/radeon_pm.c
>> +++ b/drivers/gpu/drm/radeon/radeon_pm.c
>> @@ -352,9 +352,8 @@ static void radeon_pm_print_states(struct radeon_device *rdev)
>>          }
>>   }
>>
>> -static ssize_t radeon_get_pm_profile(struct device *dev,
>> -                                    struct device_attribute *attr,
>> -                                    char *buf)
>> +static ssize_t power_profile_show(struct device *dev,
>> +                                 struct device_attribute *attr, char *buf)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -366,10 +365,8 @@ static ssize_t radeon_get_pm_profile(struct device *dev,
>>                            (cp == PM_PROFILE_HIGH) ? "high" : "default");
>>   }
>>
>> -static ssize_t radeon_set_pm_profile(struct device *dev,
>> -                                    struct device_attribute *attr,
>> -                                    const char *buf,
>> -                                    size_t count)
>> +static ssize_t power_profile_store(struct device *dev, struct device_attribute *attr,
>> +                                  const char *buf, size_t count)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -406,9 +403,8 @@ static ssize_t radeon_set_pm_profile(struct device *dev,
>>          return count;
>>   }
>>
>> -static ssize_t radeon_get_pm_method(struct device *dev,
>> -                                   struct device_attribute *attr,
>> -                                   char *buf)
>> +static ssize_t power_method_show(struct device *dev,
>> +                                struct device_attribute *attr, char *buf)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -418,10 +414,9 @@ static ssize_t radeon_get_pm_method(struct device *dev,
>>                            (pm == PM_METHOD_PROFILE) ? "profile" : "dpm");
>>   }
>>
>> -static ssize_t radeon_set_pm_method(struct device *dev,
>> -                                   struct device_attribute *attr,
>> -                                   const char *buf,
>> -                                   size_t count)
>> +static ssize_t power_method_store(struct device *dev,
>> +                                 struct device_attribute *attr,
>> +                                 const char *buf, size_t count)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -462,9 +457,8 @@ static ssize_t radeon_set_pm_method(struct device *dev,
>>          return count;
>>   }
>>
>> -static ssize_t radeon_get_dpm_state(struct device *dev,
>> -                                   struct device_attribute *attr,
>> -                                   char *buf)
>> +static ssize_t power_dpm_state_show(struct device *dev,
>> +                                   struct device_attribute *attr, char *buf)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -475,10 +469,9 @@ static ssize_t radeon_get_dpm_state(struct device *dev,
>>                            (pm == POWER_STATE_TYPE_BALANCED) ? "balanced" : "performance");
>>   }
>>
>> -static ssize_t radeon_set_dpm_state(struct device *dev,
>> -                                   struct device_attribute *attr,
>> -                                   const char *buf,
>> -                                   size_t count)
>> +static ssize_t power_dpm_state_store(struct device *dev,
>> +                                    struct device_attribute *attr,
>> +                                    const char *buf, size_t count)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -506,9 +499,9 @@ static ssize_t radeon_set_dpm_state(struct device *dev,
>>          return count;
>>   }
>>
>> -static ssize_t radeon_get_dpm_forced_performance_level(struct device *dev,
>> -                                                      struct device_attribute *attr,
>> -                                                      char *buf)
>> +static ssize_t power_dpm_force_performance_level_show(struct device *dev,
>> +                                                     struct device_attribute *attr,
>> +                                                     char *buf)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -523,10 +516,9 @@ static ssize_t radeon_get_dpm_forced_performance_level(struct device *dev,
>>                            (level == RADEON_DPM_FORCED_LEVEL_LOW) ? "low" : "high");
>>   }
>>
>> -static ssize_t radeon_set_dpm_forced_performance_level(struct device *dev,
>> +static ssize_t power_dpm_force_performance_level_store(struct device *dev,
>>                                                         struct device_attribute *attr,
>> -                                                      const char *buf,
>> -                                                      size_t count)
>> +                                                      const char *buf, size_t count)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -658,12 +650,10 @@ static ssize_t radeon_hwmon_get_pwm1(struct device *dev,
>>          return sprintf(buf, "%i\n", speed);
>>   }
>>
>> -static DEVICE_ATTR(power_profile, S_IRUGO | S_IWUSR, radeon_get_pm_profile, radeon_set_pm_profile);
>> -static DEVICE_ATTR(power_method, S_IRUGO | S_IWUSR, radeon_get_pm_method, radeon_set_pm_method);
>> -static DEVICE_ATTR(power_dpm_state, S_IRUGO | S_IWUSR, radeon_get_dpm_state, radeon_set_dpm_state);
>> -static DEVICE_ATTR(power_dpm_force_performance_level, S_IRUGO | S_IWUSR,
>> -                  radeon_get_dpm_forced_performance_level,
>> -                  radeon_set_dpm_forced_performance_level);
>> +static DEVICE_ATTR_RW(power_profile);
>> +static DEVICE_ATTR_RW(power_method);
>> +static DEVICE_ATTR_RW(power_dpm_state);
>> +static DEVICE_ATTR_RW(power_dpm_force_performance_level);
>>
>>   static ssize_t radeon_hwmon_show_temp(struct device *dev,
>>                                        struct device_attribute *attr,
>> --
>> 2.17.1
>>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


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

* Re: [PATCH -next] drm/radeon/radeon_pm: use DEVICE_ATTR_RW macro
@ 2021-06-02  6:41     ` Christian König
  0 siblings, 0 replies; 12+ messages in thread
From: Christian König @ 2021-06-02  6:41 UTC (permalink / raw)
  To: Alex Deucher, YueHaibing
  Cc: Dave Airlie, xinhui pan, LKML, amd-gfx list,
	Maling list - DRI developers, Daniel Vetter, Deucher, Alexander,
	Christian Koenig



Am 02.06.21 um 03:53 schrieb Alex Deucher:
> On Fri, May 28, 2021 at 3:18 AM YueHaibing <yuehaibing@huawei.com> wrote:
>> Use DEVICE_ATTR_RW() helper instead of plain DEVICE_ATTR(),
>> which makes the code a bit shorter and easier to read.
>>
>> Signed-off-by: YueHaibing <yuehaibing@huawei.com>
> I'm not convinced this really buys us anything other than code churn,
> but I don't have a particularly strong opinion of others feel
> differently.

I agree, especially dropping the amdgpu/radeon prefix from the functions 
doesn't sound like something we want.

Christian.

>
> Alex
>
>
>> ---
>>   drivers/gpu/drm/radeon/radeon_pm.c | 56 ++++++++++++------------------
>>   1 file changed, 23 insertions(+), 33 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c
>> index 3861c0b98fcf..edf10cc3947e 100644
>> --- a/drivers/gpu/drm/radeon/radeon_pm.c
>> +++ b/drivers/gpu/drm/radeon/radeon_pm.c
>> @@ -352,9 +352,8 @@ static void radeon_pm_print_states(struct radeon_device *rdev)
>>          }
>>   }
>>
>> -static ssize_t radeon_get_pm_profile(struct device *dev,
>> -                                    struct device_attribute *attr,
>> -                                    char *buf)
>> +static ssize_t power_profile_show(struct device *dev,
>> +                                 struct device_attribute *attr, char *buf)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -366,10 +365,8 @@ static ssize_t radeon_get_pm_profile(struct device *dev,
>>                            (cp == PM_PROFILE_HIGH) ? "high" : "default");
>>   }
>>
>> -static ssize_t radeon_set_pm_profile(struct device *dev,
>> -                                    struct device_attribute *attr,
>> -                                    const char *buf,
>> -                                    size_t count)
>> +static ssize_t power_profile_store(struct device *dev, struct device_attribute *attr,
>> +                                  const char *buf, size_t count)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -406,9 +403,8 @@ static ssize_t radeon_set_pm_profile(struct device *dev,
>>          return count;
>>   }
>>
>> -static ssize_t radeon_get_pm_method(struct device *dev,
>> -                                   struct device_attribute *attr,
>> -                                   char *buf)
>> +static ssize_t power_method_show(struct device *dev,
>> +                                struct device_attribute *attr, char *buf)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -418,10 +414,9 @@ static ssize_t radeon_get_pm_method(struct device *dev,
>>                            (pm == PM_METHOD_PROFILE) ? "profile" : "dpm");
>>   }
>>
>> -static ssize_t radeon_set_pm_method(struct device *dev,
>> -                                   struct device_attribute *attr,
>> -                                   const char *buf,
>> -                                   size_t count)
>> +static ssize_t power_method_store(struct device *dev,
>> +                                 struct device_attribute *attr,
>> +                                 const char *buf, size_t count)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -462,9 +457,8 @@ static ssize_t radeon_set_pm_method(struct device *dev,
>>          return count;
>>   }
>>
>> -static ssize_t radeon_get_dpm_state(struct device *dev,
>> -                                   struct device_attribute *attr,
>> -                                   char *buf)
>> +static ssize_t power_dpm_state_show(struct device *dev,
>> +                                   struct device_attribute *attr, char *buf)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -475,10 +469,9 @@ static ssize_t radeon_get_dpm_state(struct device *dev,
>>                            (pm == POWER_STATE_TYPE_BALANCED) ? "balanced" : "performance");
>>   }
>>
>> -static ssize_t radeon_set_dpm_state(struct device *dev,
>> -                                   struct device_attribute *attr,
>> -                                   const char *buf,
>> -                                   size_t count)
>> +static ssize_t power_dpm_state_store(struct device *dev,
>> +                                    struct device_attribute *attr,
>> +                                    const char *buf, size_t count)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -506,9 +499,9 @@ static ssize_t radeon_set_dpm_state(struct device *dev,
>>          return count;
>>   }
>>
>> -static ssize_t radeon_get_dpm_forced_performance_level(struct device *dev,
>> -                                                      struct device_attribute *attr,
>> -                                                      char *buf)
>> +static ssize_t power_dpm_force_performance_level_show(struct device *dev,
>> +                                                     struct device_attribute *attr,
>> +                                                     char *buf)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -523,10 +516,9 @@ static ssize_t radeon_get_dpm_forced_performance_level(struct device *dev,
>>                            (level == RADEON_DPM_FORCED_LEVEL_LOW) ? "low" : "high");
>>   }
>>
>> -static ssize_t radeon_set_dpm_forced_performance_level(struct device *dev,
>> +static ssize_t power_dpm_force_performance_level_store(struct device *dev,
>>                                                         struct device_attribute *attr,
>> -                                                      const char *buf,
>> -                                                      size_t count)
>> +                                                      const char *buf, size_t count)
>>   {
>>          struct drm_device *ddev = dev_get_drvdata(dev);
>>          struct radeon_device *rdev = ddev->dev_private;
>> @@ -658,12 +650,10 @@ static ssize_t radeon_hwmon_get_pwm1(struct device *dev,
>>          return sprintf(buf, "%i\n", speed);
>>   }
>>
>> -static DEVICE_ATTR(power_profile, S_IRUGO | S_IWUSR, radeon_get_pm_profile, radeon_set_pm_profile);
>> -static DEVICE_ATTR(power_method, S_IRUGO | S_IWUSR, radeon_get_pm_method, radeon_set_pm_method);
>> -static DEVICE_ATTR(power_dpm_state, S_IRUGO | S_IWUSR, radeon_get_dpm_state, radeon_set_dpm_state);
>> -static DEVICE_ATTR(power_dpm_force_performance_level, S_IRUGO | S_IWUSR,
>> -                  radeon_get_dpm_forced_performance_level,
>> -                  radeon_set_dpm_forced_performance_level);
>> +static DEVICE_ATTR_RW(power_profile);
>> +static DEVICE_ATTR_RW(power_method);
>> +static DEVICE_ATTR_RW(power_dpm_state);
>> +static DEVICE_ATTR_RW(power_dpm_force_performance_level);
>>
>>   static ssize_t radeon_hwmon_show_temp(struct device *dev,
>>                                        struct device_attribute *attr,
>> --
>> 2.17.1
>>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

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

end of thread, other threads:[~2021-06-02  6:42 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-28  7:02 [PATCH -next] drm/radeon/radeon_pm: use DEVICE_ATTR_RW macro YueHaibing
2021-05-28  7:02 ` YueHaibing
2021-05-28  7:02 ` YueHaibing
2021-06-02  1:53 ` Alex Deucher
2021-06-02  1:53   ` Alex Deucher
2021-06-02  1:53   ` Alex Deucher
2021-06-02  6:41   ` Christian König
2021-06-02  6:41     ` Christian König
2021-06-02  6:41     ` Christian König
2021-06-02  6:41   ` Christian König
2021-06-02  6:41     ` Christian König
2021-06-02  6:41     ` Christian König

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.