Symbol: sfctemp
drivers/hwmon/sfctemp.c
100
ret = reset_control_deassert(sfctemp->rst_bus);
drivers/hwmon/sfctemp.c
104
ret = clk_prepare_enable(sfctemp->clk_sense);
drivers/hwmon/sfctemp.c
107
ret = reset_control_deassert(sfctemp->rst_sense);
drivers/hwmon/sfctemp.c
111
sfctemp_power_up(sfctemp);
drivers/hwmon/sfctemp.c
112
sfctemp_run(sfctemp);
drivers/hwmon/sfctemp.c
113
sfctemp->enabled = true;
drivers/hwmon/sfctemp.c
117
clk_disable_unprepare(sfctemp->clk_sense);
drivers/hwmon/sfctemp.c
119
reset_control_assert(sfctemp->rst_bus);
drivers/hwmon/sfctemp.c
121
clk_disable_unprepare(sfctemp->clk_bus);
drivers/hwmon/sfctemp.c
125
static int sfctemp_disable(struct sfctemp *sfctemp)
drivers/hwmon/sfctemp.c
127
if (!sfctemp->enabled)
drivers/hwmon/sfctemp.c
130
sfctemp_stop(sfctemp);
drivers/hwmon/sfctemp.c
131
sfctemp_power_down(sfctemp);
drivers/hwmon/sfctemp.c
132
reset_control_assert(sfctemp->rst_sense);
drivers/hwmon/sfctemp.c
133
clk_disable_unprepare(sfctemp->clk_sense);
drivers/hwmon/sfctemp.c
134
reset_control_assert(sfctemp->rst_bus);
drivers/hwmon/sfctemp.c
135
clk_disable_unprepare(sfctemp->clk_bus);
drivers/hwmon/sfctemp.c
136
sfctemp->enabled = false;
drivers/hwmon/sfctemp.c
145
static int sfctemp_convert(struct sfctemp *sfctemp, long *val)
drivers/hwmon/sfctemp.c
147
if (!sfctemp->enabled)
drivers/hwmon/sfctemp.c
151
*val = (long)((readl(sfctemp->regs) & SFCTEMP_DOUT_MSK) >> SFCTEMP_DOUT_POS)
drivers/hwmon/sfctemp.c
178
struct sfctemp *sfctemp = dev_get_drvdata(dev);
drivers/hwmon/sfctemp.c
184
*val = sfctemp->enabled;
drivers/hwmon/sfctemp.c
187
return sfctemp_convert(sfctemp, val);
drivers/hwmon/sfctemp.c
199
struct sfctemp *sfctemp = dev_get_drvdata(dev);
drivers/hwmon/sfctemp.c
206
return sfctemp_disable(sfctemp);
drivers/hwmon/sfctemp.c
208
return sfctemp_enable(sfctemp);
drivers/hwmon/sfctemp.c
239
struct sfctemp *sfctemp;
drivers/hwmon/sfctemp.c
242
sfctemp = devm_kzalloc(dev, sizeof(*sfctemp), GFP_KERNEL);
drivers/hwmon/sfctemp.c
243
if (!sfctemp)
drivers/hwmon/sfctemp.c
246
dev_set_drvdata(dev, sfctemp);
drivers/hwmon/sfctemp.c
248
sfctemp->regs = devm_platform_ioremap_resource(pdev, 0);
drivers/hwmon/sfctemp.c
249
if (IS_ERR(sfctemp->regs))
drivers/hwmon/sfctemp.c
250
return PTR_ERR(sfctemp->regs);
drivers/hwmon/sfctemp.c
252
sfctemp->clk_sense = devm_clk_get(dev, "sense");
drivers/hwmon/sfctemp.c
253
if (IS_ERR(sfctemp->clk_sense))
drivers/hwmon/sfctemp.c
254
return dev_err_probe(dev, PTR_ERR(sfctemp->clk_sense),
drivers/hwmon/sfctemp.c
257
sfctemp->clk_bus = devm_clk_get(dev, "bus");
drivers/hwmon/sfctemp.c
258
if (IS_ERR(sfctemp->clk_bus))
drivers/hwmon/sfctemp.c
259
return dev_err_probe(dev, PTR_ERR(sfctemp->clk_bus),
drivers/hwmon/sfctemp.c
262
sfctemp->rst_sense = devm_reset_control_get_exclusive(dev, "sense");
drivers/hwmon/sfctemp.c
263
if (IS_ERR(sfctemp->rst_sense))
drivers/hwmon/sfctemp.c
264
return dev_err_probe(dev, PTR_ERR(sfctemp->rst_sense),
drivers/hwmon/sfctemp.c
267
sfctemp->rst_bus = devm_reset_control_get_exclusive(dev, "bus");
drivers/hwmon/sfctemp.c
268
if (IS_ERR(sfctemp->rst_bus))
drivers/hwmon/sfctemp.c
269
return dev_err_probe(dev, PTR_ERR(sfctemp->rst_bus),
drivers/hwmon/sfctemp.c
272
ret = reset_control_assert(sfctemp->rst_sense);
drivers/hwmon/sfctemp.c
276
ret = reset_control_assert(sfctemp->rst_bus);
drivers/hwmon/sfctemp.c
280
ret = devm_add_action(dev, sfctemp_disable_action, sfctemp);
drivers/hwmon/sfctemp.c
284
ret = sfctemp_enable(sfctemp);
drivers/hwmon/sfctemp.c
288
hwmon_dev = devm_hwmon_device_register_with_info(dev, "sfctemp", sfctemp,
drivers/hwmon/sfctemp.c
59
static void sfctemp_power_up(struct sfctemp *sfctemp)
drivers/hwmon/sfctemp.c
62
writel(SFCTEMP_PD, sfctemp->regs);
drivers/hwmon/sfctemp.c
65
writel(0, sfctemp->regs);
drivers/hwmon/sfctemp.c
70
writel(SFCTEMP_RSTN, sfctemp->regs);
drivers/hwmon/sfctemp.c
74
static void sfctemp_power_down(struct sfctemp *sfctemp)
drivers/hwmon/sfctemp.c
76
writel(SFCTEMP_PD, sfctemp->regs);
drivers/hwmon/sfctemp.c
79
static void sfctemp_run(struct sfctemp *sfctemp)
drivers/hwmon/sfctemp.c
81
writel(SFCTEMP_RSTN | SFCTEMP_RUN, sfctemp->regs);
drivers/hwmon/sfctemp.c
85
static void sfctemp_stop(struct sfctemp *sfctemp)
drivers/hwmon/sfctemp.c
87
writel(SFCTEMP_RSTN, sfctemp->regs);
drivers/hwmon/sfctemp.c
90
static int sfctemp_enable(struct sfctemp *sfctemp)
drivers/hwmon/sfctemp.c
94
if (sfctemp->enabled)
drivers/hwmon/sfctemp.c
97
ret = clk_prepare_enable(sfctemp->clk_bus);