[patch] staging: comedi: cleanup comedi_recognize()
Dan Carpenter
dan.carpenter at oracle.com
Thu May 24 11:16:01 UTC 2012
On Thu, May 24, 2012 at 11:57:44AM +0100, Ian Abbott wrote:
> On 2012-05-24 11:28, Dan Carpenter wrote:
> >This function is more complicated than it needs to be because of the
> >consts. It's not worth saving them because we drop the consts anyway
> >when we return (void *)name_ptr.
> >
> >Signed-off-by: Dan Carpenter<dan.carpenter at oracle.com>
> >
> >diff --git a/drivers/staging/comedi/drivers.c b/drivers/staging/comedi/drivers.c
> >index 1c3d638..a8f576d 100644
> >--- a/drivers/staging/comedi/drivers.c
> >+++ b/drivers/staging/comedi/drivers.c
> >@@ -304,14 +304,13 @@ static int postconfig(struct comedi_device *dev)
> > * that register their supported board names */
> > static void *comedi_recognize(struct comedi_driver *driv, const char *name)
> > {
> >- unsigned i;
> >- const char *const *name_ptr = driv->board_name;
> >+ char **name_ptr = (char **)driv->board_name;
> >+ int i;
> >+
> > for (i = 0; i< driv->num_names; i++) {
> > if (strcmp(*name_ptr, name) == 0)
> >- return (void *)name_ptr;
> >- name_ptr =
> >- (const char *const *)((const char *)name_ptr +
> >- driv->offset);
> >+ return name_ptr;
> >+ name_ptr = (char **)((void *)name_ptr + driv->offset);
> > }
> >
> > return NULL;
>
> You could simplify it further by keeping one of the consts:
>
> static void *comedi_recognize(struct comedi_driver *driv, const char *name)
> {
> unsigned i;
> const char **name_ptr = driv->board_name;
> for (i = 0; i < driv->num_names; i++) {
> if (strcmp(*name_ptr, name) == 0)
> return name_ptr;
> name_ptr = (void *)name_ptr + driv->offset;
> }
> return NULL;
> }
Sure. I'll resend.
regards,
dan carpenter
More information about the devel
mailing list