Skip to content

Commit

Permalink
thermal: devfreq_cooling: use a thermal_cooling_device for register a…
Browse files Browse the repository at this point in the history
…nd unregister

Be consistent with what other cooling devices do and return a struct
thermal_cooling_device * on register.  Also, for the unregister, accept
a struct thermal_cooling_device * as parameter.

Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Javi Merino <javi.merino@arm.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
  • Loading branch information
Javi Merino authored and Eduardo Valentin committed Nov 2, 2015
1 parent 8fb2b9a commit 3c99c2c
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 14 deletions.
16 changes: 10 additions & 6 deletions drivers/thermal/devfreq_cooling.c
Original file line number Diff line number Diff line change
Expand Up @@ -467,7 +467,7 @@ static int devfreq_cooling_gen_tables(struct devfreq_cooling_device *dfc)
* devfreq should use the simple_ondemand governor, other governors
* are not currently supported.
*/
struct devfreq_cooling_device *
struct thermal_cooling_device *
of_devfreq_cooling_register_power(struct device_node *np, struct devfreq *df,
struct devfreq_cooling_power *dfc_power)
{
Expand Down Expand Up @@ -513,7 +513,7 @@ of_devfreq_cooling_register_power(struct device_node *np, struct devfreq *df,

dfc->cdev = cdev;

return dfc;
return cdev;

release_idr:
release_idr(&devfreq_idr, dfc->id);
Expand All @@ -533,7 +533,7 @@ EXPORT_SYMBOL_GPL(of_devfreq_cooling_register_power);
* @np: Pointer to OF device_node.
* @df: Pointer to devfreq device.
*/
struct devfreq_cooling_device *
struct thermal_cooling_device *
of_devfreq_cooling_register(struct device_node *np, struct devfreq *df)
{
return of_devfreq_cooling_register_power(np, df, NULL);
Expand All @@ -544,7 +544,7 @@ EXPORT_SYMBOL_GPL(of_devfreq_cooling_register);
* devfreq_cooling_register() - Register devfreq cooling device.
* @df: Pointer to devfreq device.
*/
struct devfreq_cooling_device *devfreq_cooling_register(struct devfreq *df)
struct thermal_cooling_device *devfreq_cooling_register(struct devfreq *df)
{
return of_devfreq_cooling_register(NULL, df);
}
Expand All @@ -554,11 +554,15 @@ EXPORT_SYMBOL_GPL(devfreq_cooling_register);
* devfreq_cooling_unregister() - Unregister devfreq cooling device.
* @dfc: Pointer to devfreq cooling device to unregister.
*/
void devfreq_cooling_unregister(struct devfreq_cooling_device *dfc)
void devfreq_cooling_unregister(struct thermal_cooling_device *cdev)
{
if (!dfc)
struct devfreq_cooling_device *dfc;

if (!cdev)
return;

dfc = cdev->devdata;

thermal_cooling_device_unregister(dfc->cdev);
release_idr(&devfreq_idr, dfc->id);
kfree(dfc->power_table);
Expand Down
16 changes: 8 additions & 8 deletions include/linux/devfreq_cooling.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,37 +43,37 @@ struct devfreq_cooling_power {
unsigned long dyn_power_coeff;
};

struct devfreq_cooling_device *
struct thermal_cooling_device *
of_devfreq_cooling_register_power(struct device_node *np, struct devfreq *df,
struct devfreq_cooling_power *dfc_power);
struct devfreq_cooling_device *
struct thermal_cooling_device *
of_devfreq_cooling_register(struct device_node *np, struct devfreq *df);
struct devfreq_cooling_device *devfreq_cooling_register(struct devfreq *df);
void devfreq_cooling_unregister(struct devfreq_cooling_device *dfc);
struct thermal_cooling_device *devfreq_cooling_register(struct devfreq *df);
void devfreq_cooling_unregister(struct thermal_cooling_device *dfc);

#else /* !CONFIG_DEVFREQ_THERMAL */

struct devfreq_cooling_device *
struct thermal_cooling_device *
of_devfreq_cooling_register_power(struct device_node *np, struct devfreq *df,
struct devfreq_cooling_power *dfc_power)
{
return ERR_PTR(-EINVAL);
}

static inline struct devfreq_cooling_device *
static inline struct thermal_cooling_device *
of_devfreq_cooling_register(struct device_node *np, struct devfreq *df)
{
return ERR_PTR(-EINVAL);
}

static inline struct devfreq_cooling_device *
static inline struct thermal_cooling_device *
devfreq_cooling_register(struct devfreq *df)
{
return ERR_PTR(-EINVAL);
}

static inline void
devfreq_cooling_unregister(struct devfreq_cooling_device *dfc)
devfreq_cooling_unregister(struct thermal_cooling_device *dfc)
{
}

Expand Down

0 comments on commit 3c99c2c

Please sign in to comment.