On Fri, Apr 19, 2024 at 8:30 AM Huacai Chen <chenhuacai@xxxxxxxxxx> wrote: > > 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. > OK, I would check the entire code again and fix it in the next version. Thanks. Binbin > > + > > + 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 > >