On Mon, Jun 4, 2018 at 1:33 AM Bart Van Assche <Bart.VanAssche@xxxxxxx> wrote: > > On Tue, 2018-05-29 at 11:17 -0700, Evan Green wrote: > > +static ssize_t _name##_store(struct device *dev, \ > > + struct device_attribute *attr, const char *buf, \ > > + size_t count) \ > > +{ \ > > + struct ufs_hba *hba = dev_get_drvdata(dev); \ > > + unsigned long value; \ > > + if (kstrtoul(buf, 0, &value)) \ > > + return -EINVAL; \ > > + if (ufshcd_query_attr(hba, UPIU_QUERY_OPCODE_WRITE_ATTR, \ > > + QUERY_ATTR_IDN##_uname, 0, 0, (u32 *)&value)) \ > > + return -EINVAL; \ > > + return count; \ > > +} \ > > Casting an "unsigned long" pointer into an u32 pointer looks evil to me. > Please don't do this. > Will fix.