Hi, Binbin, On Mon, Apr 15, 2024 at 10:31 AM Binbin Zhou <zhoubinbin@xxxxxxxxxxx> wrote: > > Here are some minor code style adjustment. Such as fix whitespace code > style; align function call arguments to opening parenthesis, and add > devm_thermal_add_hwmon_sysfs() return value checking. > > Signed-off-by: Binbin Zhou <zhoubinbin@xxxxxxxxxxx> > --- > drivers/thermal/loongson2_thermal.c | 69 +++++++++++++++-------------- > 1 file changed, 35 insertions(+), 34 deletions(-) > > diff --git a/drivers/thermal/loongson2_thermal.c b/drivers/thermal/loongson2_thermal.c > index 0f475fe46bc9..d77d829c8b55 100644 > --- a/drivers/thermal/loongson2_thermal.c > +++ b/drivers/thermal/loongson2_thermal.c > @@ -16,45 +16,49 @@ > #include <linux/units.h> > #include "thermal_hwmon.h" > > -#define LOONGSON2_MAX_SENSOR_SEL_NUM 3 > +#define LOONGSON2_MAX_SENSOR_SEL_NUM 3 > > -#define LOONGSON2_THSENS_CTRL_HI_REG 0x0 > -#define LOONGSON2_THSENS_CTRL_LOW_REG 0x8 > -#define LOONGSON2_THSENS_STATUS_REG 0x10 > -#define LOONGSON2_THSENS_OUT_REG 0x14 > +#define LOONGSON2_THSENS_CTRL_HI_REG 0x0 > +#define LOONGSON2_THSENS_CTRL_LOW_REG 0x8 > +#define LOONGSON2_THSENS_STATUS_REG 0x10 > +#define LOONGSON2_THSENS_OUT_REG 0x14 > > -#define LOONGSON2_THSENS_INT_LO BIT(0) > -#define LOONGSON2_THSENS_INT_HIGH BIT(1) > -#define LOONGSON2_THSENS_OUT_MASK 0xFF > +#define LOONGSON2_THSENS_INT_LO BIT(0) > +#define LOONGSON2_THSENS_INT_HIGH BIT(1) > +#define LOONGSON2_THSENS_INT_EN (LOONGSON2_THSENS_INT_LO | \ > + LOONGSON2_THSENS_INT_HIGH) > +#define LOONGSON2_THSENS_OUT_MASK 0xFF > > struct loongson2_thermal_chip_data { > - unsigned int thermal_sensor_sel; > + unsigned int thermal_sensor_sel; > }; > > struct loongson2_thermal_data { > - void __iomem *regs; > + void __iomem *regs; > const struct loongson2_thermal_chip_data *chip_data; > }; > > -static int loongson2_thermal_set(struct loongson2_thermal_data *data, > - int low, int high, bool enable) > +static void loongson2_set_ctrl_regs(struct loongson2_thermal_data *data, > + int ctrl_data, bool low, bool enable) > { > - u64 reg_ctrl = 0; > - int reg_off = data->chip_data->thermal_sensor_sel * 2; > + int reg_ctrl = 0; > + int reg_off = data->chip_data->thermal_sensor_sel * 2; > + int ctrl_reg = low ? LOONGSON2_THSENS_CTRL_LOW_REG : > + LOONGSON2_THSENS_CTRL_HI_REG; Line break is unnecessary, because long lines is acceptable now. > + > + reg_ctrl = ctrl_data + HECTO; > + reg_ctrl |= enable ? 0x100 : 0; > + writew(reg_ctrl, data->regs + ctrl_reg + reg_off); > +} > > +static int loongson2_thermal_set(struct loongson2_thermal_data *data, > + int low, int high, bool enable) > +{ > low = clamp(-40, low, high); > high = clamp(125, low, high); > > - low += HECTO; > - high += HECTO; > - > - reg_ctrl = low; > - reg_ctrl |= enable ? 0x100 : 0; > - writew(reg_ctrl, data->regs + LOONGSON2_THSENS_CTRL_LOW_REG + reg_off); > - > - reg_ctrl = high; > - reg_ctrl |= enable ? 0x100 : 0; > - writew(reg_ctrl, data->regs + LOONGSON2_THSENS_CTRL_HI_REG + reg_off); > + loongson2_set_ctrl_regs(data, low, true, enable); > + loongson2_set_ctrl_regs(data, high, false, enable); > > return 0; > } > @@ -75,15 +79,15 @@ static irqreturn_t loongson2_thermal_irq_thread(int irq, void *dev) > struct thermal_zone_device *tzd = dev; > struct loongson2_thermal_data *data = thermal_zone_device_priv(tzd); > > - writeb(LOONGSON2_THSENS_INT_LO | LOONGSON2_THSENS_INT_HIGH, data->regs + > - LOONGSON2_THSENS_STATUS_REG); > + writeb(LOONGSON2_THSENS_INT_EN, data->regs + LOONGSON2_THSENS_STATUS_REG); > > thermal_zone_device_update(tzd, THERMAL_EVENT_UNSPECIFIED); > > return IRQ_HANDLED; > } > > -static int loongson2_thermal_set_trips(struct thermal_zone_device *tz, int low, int high) > +static int loongson2_thermal_set_trips(struct thermal_zone_device *tz, > + int low, int high) The same as above. Huacai > { > struct loongson2_thermal_data *data = thermal_zone_device_priv(tz); > > @@ -116,14 +120,13 @@ static int loongson2_thermal_probe(struct platform_device *pdev) > if (irq < 0) > return irq; > > - writeb(LOONGSON2_THSENS_INT_LO | LOONGSON2_THSENS_INT_HIGH, data->regs + > - LOONGSON2_THSENS_STATUS_REG); > + writeb(LOONGSON2_THSENS_INT_EN, data->regs + LOONGSON2_THSENS_STATUS_REG); > > loongson2_thermal_set(data, 0, 0, false); > > for (i = 0; i <= LOONGSON2_MAX_SENSOR_SEL_NUM; i++) { > tzd = devm_thermal_of_zone_register(dev, i, data, > - &loongson2_of_thermal_ops); > + &loongson2_of_thermal_ops); > > if (!IS_ERR(tzd)) > break; > @@ -135,13 +138,11 @@ static int loongson2_thermal_probe(struct platform_device *pdev) > } > > ret = devm_request_threaded_irq(dev, irq, NULL, loongson2_thermal_irq_thread, > - IRQF_ONESHOT, "loongson2_thermal", tzd); > + IRQF_ONESHOT, "loongson2_thermal", tzd); > if (ret < 0) > return dev_err_probe(dev, ret, "failed to request alarm irq\n"); > > - devm_thermal_add_hwmon_sysfs(dev, tzd); > - > - return 0; > + return devm_thermal_add_hwmon_sysfs(dev, tzd); > } > > static const struct loongson2_thermal_chip_data loongson2_thermal_ls2k1000_data = { > -- > 2.43.0 >