Em Sun, 05 Jan 2014 11:55:34 +0100
Frank Schäfer <fschaefer....@googlemail.com> escreveu:

> Am 04.01.2014 11:55, schrieb Mauro Carvalho Chehab:
> > Add a message with consistent prints before and after each
> > extension initialization, and provide a better text for module
> > load.
> >
> > While here, add a missing sanity check for extension finish
> > code at em28xx-v4l extension.
> >
> > Signed-off-by: Mauro Carvalho Chehab <m.che...@samsung.com>
> > ---
> >  drivers/media/usb/em28xx/em28xx-audio.c |  4 +++-
> >  drivers/media/usb/em28xx/em28xx-core.c  |  2 +-
> >  drivers/media/usb/em28xx/em28xx-dvb.c   |  7 ++++---
> >  drivers/media/usb/em28xx/em28xx-input.c |  4 ++++
> >  drivers/media/usb/em28xx/em28xx-video.c | 10 ++++++++--
> >  5 files changed, 20 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/media/usb/em28xx/em28xx-audio.c 
> > b/drivers/media/usb/em28xx/em28xx-audio.c
> > index 2fdb66ee44ab..263886adcf26 100644
> > --- a/drivers/media/usb/em28xx/em28xx-audio.c
> > +++ b/drivers/media/usb/em28xx/em28xx-audio.c
> > @@ -649,7 +649,8 @@ static int em28xx_audio_init(struct em28xx *dev)
> >             return 0;
> >     }
> >  
> > -   printk(KERN_INFO "em28xx-audio.c: probing for em28xx Audio Vendor 
> > Class\n");
> > +   em28xx_info("Binding audio extension\n");
> > +
> >     printk(KERN_INFO "em28xx-audio.c: Copyright (C) 2006 Markus "
> >                      "Rechberger\n");
> >     printk(KERN_INFO "em28xx-audio.c: Copyright (C) 2007-2011 Mauro 
> > Carvalho Chehab\n");
> > @@ -702,6 +703,7 @@ static int em28xx_audio_init(struct em28xx *dev)
> >     adev->sndcard = card;
> >     adev->udev = dev->udev;
> >  
> > +   em28xx_info("Audio extension successfully initialized\n");
> >     return 0;
> >  }
> >  
> > diff --git a/drivers/media/usb/em28xx/em28xx-core.c 
> > b/drivers/media/usb/em28xx/em28xx-core.c
> > index 1113d4e107d8..33cf26e106b5 100644
> > --- a/drivers/media/usb/em28xx/em28xx-core.c
> > +++ b/drivers/media/usb/em28xx/em28xx-core.c
> > @@ -1069,7 +1069,7 @@ int em28xx_register_extension(struct em28xx_ops *ops)
> >             ops->init(dev);
> >     }
> >     mutex_unlock(&em28xx_devlist_mutex);
> > -   printk(KERN_INFO "Em28xx: Initialized (%s) extension\n", ops->name);
> > +   printk(KERN_INFO "em28xx: Registered (%s) extension\n", ops->name);
> >     return 0;
> >  }
> >  EXPORT_SYMBOL(em28xx_register_extension);
> > diff --git a/drivers/media/usb/em28xx/em28xx-dvb.c 
> > b/drivers/media/usb/em28xx/em28xx-dvb.c
> > index ddc0e609065d..f72663a9b5c5 100644
> > --- a/drivers/media/usb/em28xx/em28xx-dvb.c
> > +++ b/drivers/media/usb/em28xx/em28xx-dvb.c
> > @@ -274,7 +274,7 @@ static int em28xx_stop_feed(struct dvb_demux_feed *feed)
> >  static int em28xx_dvb_bus_ctrl(struct dvb_frontend *fe, int acquire)
> >  {
> >     struct em28xx_i2c_bus *i2c_bus = fe->dvb->priv;
> > -        struct em28xx *dev = i2c_bus->dev;
> > +   struct em28xx *dev = i2c_bus->dev;
> >  
> >     if (acquire)
> >             return em28xx_set_mode(dev, EM28XX_DIGITAL_MODE);
> > @@ -992,10 +992,11 @@ static int em28xx_dvb_init(struct em28xx *dev)
> >  
> >     if (!dev->board.has_dvb) {
> >             /* This device does not support the extension */
> > -           printk(KERN_INFO "em28xx_dvb: This device does not support the 
> > extension\n");
> >             return 0;
> >     }
> >  
> > +   em28xx_info("Binding DVB extension\n");
> > +
> >     dvb = kzalloc(sizeof(struct em28xx_dvb), GFP_KERNEL);
> >  
> >     if (dvb == NULL) {
> > @@ -1407,7 +1408,7 @@ static int em28xx_dvb_init(struct em28xx *dev)
> >     /* MFE lock */
> >     dvb->adapter.mfe_shared = mfe_shared;
> >  
> > -   em28xx_info("Successfully loaded em28xx-dvb\n");
> > +   em28xx_info("DVB extension successfully initialized\n");
> >  ret:
> >     em28xx_set_mode(dev, EM28XX_SUSPEND);
> >     mutex_unlock(&dev->lock);
> > diff --git a/drivers/media/usb/em28xx/em28xx-input.c 
> > b/drivers/media/usb/em28xx/em28xx-input.c
> > index 93a7d02b9cb4..eed7dd79f734 100644
> > --- a/drivers/media/usb/em28xx/em28xx-input.c
> > +++ b/drivers/media/usb/em28xx/em28xx-input.c
> > @@ -692,6 +692,8 @@ static int em28xx_ir_init(struct em28xx *dev)
> >             return 0;
> >     }
> >  
> > +   em28xx_info("Registering input extension\n");
> > +
> >     ir = kzalloc(sizeof(*ir), GFP_KERNEL);
> >     rc = rc_allocate_device();
> >     if (!ir || !rc)
> > @@ -785,6 +787,8 @@ static int em28xx_ir_init(struct em28xx *dev)
> >     if (err)
> >             goto error;
> >  
> > +   em28xx_info("Input extension successfully initalized\n");
> > +
> >     return 0;
> >  
> >  error:
> > diff --git a/drivers/media/usb/em28xx/em28xx-video.c 
> > b/drivers/media/usb/em28xx/em28xx-video.c
> > index 56d1b46164a0..b767262c642b 100644
> > --- a/drivers/media/usb/em28xx/em28xx-video.c
> > +++ b/drivers/media/usb/em28xx/em28xx-video.c
> > @@ -1884,6 +1884,11 @@ static int em28xx_v4l2_fini(struct em28xx *dev)
> >  
> >     /*FIXME: I2C IR should be disconnected */
> >  
> > +   if (!dev->has_video) {
> > +           /* This device does not support the v4l2 extension */
> > +           return 0;
> > +   }
> > +
> That's a separate change and AFAICS it's not needed.

It is needed. If you plug a device with video first and then a DVB-only device,
as em28xx-v4l will be loaded, it will initialize the extension, if this code got
removed.

I can move it to a separate patch adding the proper description.

> >     if (dev->radio_dev) {
> >             if (video_is_registered(dev->radio_dev))
> >                     video_unregister_device(dev->radio_dev);
> > @@ -2215,8 +2220,7 @@ static int em28xx_v4l2_init(struct em28xx *dev)
> >             return 0;
> >     }
> >  
> > -   printk(KERN_INFO "%s: v4l2 driver version %s\n",
> > -           dev->name, EM28XX_VERSION);
> > +   em28xx_info("Registering V4L2 extension\n");
> >  
> >     mutex_lock(&dev->lock);
> >  
> > @@ -2498,6 +2502,8 @@ static int em28xx_v4l2_init(struct em28xx *dev)
> >     /* initialize videobuf2 stuff */
> >     em28xx_vb2_setup(dev);
> >  
> > +   em28xx_info("V4L2 extension successfully initialized\n");
> > +
> >  err:
> >     mutex_unlock(&dev->lock);
> >     return ret;
> 


-- 

Cheers,
Mauro
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to