On Wed, 7 May 2014 23:15:29 +0100 Alan Cox <[email protected]> wrote:
> On Wed, 7 May 2014 14:42:48 -0700 > Andrew Morton <[email protected]> wrote: > > > On Wed, 7 May 2014 00:33:56 +0530 Raghavendra Ganiga > > <[email protected]> wrote: > > > > > This is a patch to add support for > > > maxim dallas rtc ds1343 and ds1344 > > > > > > ... > > > > > > +static int ds1343_ioctl(struct device *dev, unsigned int cmd, unsigned > > > long arg) > > > +{ > > > + switch (cmd) { > > > +#ifdef RTC_SET_CHARGE > > > + case RTC_SET_CHARGE: > > > + { > > > + int val; > > > + > > > + if (copy_from_user(&val, (int __user *)arg, sizeof(int))) > > > + return -EFAULT; > > > + > > > + return regmap_write(priv->map, DS1343_TRICKLE_REG, val); > > > + } > > > + break; > > > +#endif > > > + } > > > > Why is RTC_SET_CHARGE defined only for m32r? It seems pretty generic? > > > > > + return -ENOIOCTLCMD; > > > +} > > > > It's possible that this should be -ENOTTY. I always forget the rule, > > but Alan never forgets anything ;) > > I forget lots 8) > > -ENOTTY if it will be returned to user space, -ENOIOCTLCMD is used by > some core code internally as a way for the sub drivers to tell the core > "I didn't handle this, maybe you have a default method ?" Ah OK, thanks. drivers/rtc/rtc-dev.c does default: /* Finally try the driver's ioctl interface */ if (ops->ioctl) { err = ops->ioctl(rtc->dev.parent, cmd, arg); if (err == -ENOIOCTLCMD) err = -ENOTTY; } else err = -ENOTTY; so ENOIOCTLCMD is appropriate here. Even though rtc is upside down - it prioritises the core's ioctl parsing ahead of the drivers'. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

