Messages in this thread | | | Date | Tue, 23 Oct 2012 15:55:06 -0700 | From | Christopher Heiny <> | Subject | Re: [RFC PATCH 01/06] input/rmi4: Public header and documentation |
| |
On 10/11/2012 01:24 AM, Dmitry Torokhov wrote: > On Thu, Oct 11, 2012 at 03:41:41AM +0000, Christopher Heiny wrote: >> >Linus Walleij wrote: >>> > >On Sat, Oct 6, 2012 at 6:09 AM, Christopher Heiny<cheiny@synaptics.com> wrote: >>> > > >>>> > > >+#ifdef CONFIG_RMI4_DEBUG >>>> > > >+/** >>>> > > >+ * Utility routine to handle writes to read-only attributes. Hopefully >>>> > > >+ * this will never happen, but if the user does something stupid, we >>>> > > >don't >>>> > > >+ * want to accept it quietly (which is what can happen if you just put >>>> > > >NULL + * for the attribute's store function). >>>> > > >+ */ >>>> > > >+static inline ssize_t rmi_store_error(struct device *dev, >>>> > > >+ struct device_attribute *attr, >>>> > > >+ const char *buf, size_t count) >>>> > > >+{ >>>> > > >+ dev_warn(dev, >>>> > > >+ "WARNING: Attempt to write %d characters to read-only >>>> > > >attribute %s.", + count, attr->attr.name); >>>> > > >+ return -EPERM; >>>> > > >+} >>> > > >>> > >Here it looks like you're hiding a lot of stuff that should be dev_warn()? >>> > >Consider my earlier point about dynamic debug. >> > >> >In previous patch submissions, we always used these warning functions. >> >But in the feedback on those patches, we were asked to just make sysfs >> >show/store NULL if the attribute is write/read only. However, during >> >their development process, our customers want to see the warnings if >> >the attributes are accessed incorrectly. So we made these warnings a >> >debug option. > > I think it is the case when customer is not always right. Given that > the attributes are created with S_IRUGO mask how will we even get these > methods to fire?
We were able to get those to fire in earlier kernels under some UIs (such as Android). However, we no longer support those earlier version. I have checked the behavior on up-to-date kernels and UI versions, and everyone seems to handle this correctly. That means we can drop these definitions entirely, so we'll do that.
| |