Dear grepkh: > > > > + > > > > +static ssize_t sp_iop_state1_show(struct device *dev, struct > > > > +device_attribute *attr, char *buf) { > > > > + struct sp_iop *iop = dev_get_drvdata(dev); > > > > + ssize_t len = 0; > > > > + > > > > + sp_iop_standby_mode(iop); > > > > + mdelay(10); > > > > + sp_iop_s1mode(dev, iop); > > > > + return len; > > > > +} > > > > > > This function is not showing anything. > > > > > > > The purpose of this function: > > SP7021 has three power states:S0, S1 and S3. > > S0:Default domain is on. IOP domain is on. AO domain is on. > > > S1:Default domain is off. IOP domain is on. AO domain is on. > > > S3:Default domain is off. IOP domain is off. AO domain is on. > > > System enter S1 mode when read sysfs sp_iop_state1, > > > That is not what sysfs is for, sorry. I will modify this function. > > > I hope to provide users with the ability to enter S1 mode by themselves. > > > So I cannot use DEVICE_ATTR. I should use file_operations method. > > > No, please use the normal power management callbacks for your driver that > all other drivers use in the kernel. There is nothing special about this one > driver to warrant a totally new user/kernel api for it. > OK, I understand. Thanks