From mboxrd@z Thu Jan 1 00:00:00 1970 From: greg@kroah.com (Greg KH) Date: Sun, 9 Oct 2011 18:06:56 -0700 Subject: [PATCH 1/5] drivercore: add new error value for deferred probe In-Reply-To: References: <1317963790-29426-1-git-send-email-manjugk@ti.com> <1317963790-29426-2-git-send-email-manjugk@ti.com> <20111007064349.GD27508@kroah.com> <32004.1318030113@turing-police.cc.vt.edu> <20111008001237.GA30551@kroah.com> Message-ID: <20111010010656.GA16537@kroah.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Sun, Oct 09, 2011 at 04:59:31PM -0600, Grant Likely wrote: > On Fri, Oct 7, 2011 at 6:12 PM, Greg KH wrote: > > On Fri, Oct 07, 2011 at 07:28:33PM -0400, Valdis.Kletnieks at vt.edu wrote: > >> On Fri, 07 Oct 2011 16:12:45 MDT, Grant Likely said: > >> > On Fri, Oct 7, 2011 at 12:43 AM, Greg KH wrote: > >> > > On Fri, Oct 07, 2011 at 10:33:06AM +0500, G, Manjunath Kondaiah wrote: > >> > >> > >> +#define EPROBE_DEFER 517 ? ? /* restart probe again after some time */ > >> > > > >> > > Can we really do this? > >> > >> > According to Arnd, yes this is okay. > >> > >> > > ?Isn't this some user/kernel api here? > >> > >> > > What's wrong with just "overloading" on top of an existing error code? > >> > > Surely one of the other 516 types could be used here, right? > >> > >> > overloading makes it really hard to find the users at a later date. > >> > >> Would proposing '#define EPROBE_DEFER EAGAIN' be acceptable to everybody? That > >> would allow overloading EAGAIN, but still make it easy to tell the usages apart > >> if we need to separate them later... > > > > Yes, please do that, it is what USB does for it's internal error code > > handling. > > Really? When we've only currently used approximately 2^9 of a 2^31 > numberspace? I'm fine with making sure that the number doesn't show > up in the userspace headers, but it makes no sense to overload the > #defines. Particularly so in this case where it isn't feasible to > audit every driver to figure out what probe might possibly return. It > is well within the realm of possibility that existing drivers are > already returning -EAGAIN. I doubt they are, but you are right, it's really hard to tell. > Besides; linux/errno.h *already* has linux-internal error codes that > do not get exported out to userspace. There is an #ifdef __KERNEL__ > block around ERESTARTSYS through EIOCBRETRY which is filtered out when > exporting headers. I can't see any possible reason why we wouldn't > add Linux internal error codes here. As long as it stays internal, that's fine, I was worried that this would be exported to userspace. Alan, still object to this? greg k-h