Skip to content

Commit

Permalink
thermal: armada: Pass the platform_device to init_sensor()
Browse files Browse the repository at this point in the history
In order to perform SoC-specific quirks on platforms that need them,
this commit adds a new parameter to the init_sensor() function.
This will be used to support early silicons of the Armada 375 SoC,
to workaround some hardware issues.

Acked-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
  • Loading branch information
Ezequiel Garcia authored and Zhang Rui committed May 15, 2014
1 parent 1fcacca commit 04bf3d7
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions drivers/thermal/armada_thermal.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,8 @@ struct armada_thermal_priv {

struct armada_thermal_data {
/* Initialize the sensor */
void (*init_sensor)(struct armada_thermal_priv *);
void (*init_sensor)(struct platform_device *pdev,
struct armada_thermal_priv *);

/* Test for a valid sensor value (optional) */
bool (*is_valid)(struct armada_thermal_priv *);
Expand All @@ -62,7 +63,8 @@ struct armada_thermal_data {
unsigned int is_valid_shift;
};

static void armadaxp_init_sensor(struct armada_thermal_priv *priv)
static void armadaxp_init_sensor(struct platform_device *pdev,
struct armada_thermal_priv *priv)
{
unsigned long reg;

Expand All @@ -87,7 +89,8 @@ static void armadaxp_init_sensor(struct armada_thermal_priv *priv)
writel(reg, priv->sensor);
}

static void armada370_init_sensor(struct armada_thermal_priv *priv)
static void armada370_init_sensor(struct platform_device *pdev,
struct armada_thermal_priv *priv)
{
unsigned long reg;

Expand Down Expand Up @@ -204,7 +207,7 @@ static int armada_thermal_probe(struct platform_device *pdev)
return PTR_ERR(priv->control);

priv->data = (struct armada_thermal_data *)match->data;
priv->data->init_sensor(priv);
priv->data->init_sensor(pdev, priv);

thermal = thermal_zone_device_register("armada_thermal", 0, 0,
priv, &ops, NULL, 0, 0);
Expand Down

0 comments on commit 04bf3d7

Please sign in to comment.