Message ID | 20191204114814.26252-1-michael.kupfer@fau.de (mailing list archive) |
---|---|
State | Mainlined |
Commit | 1f8a6edf8d2f9be4127b2ceb7c6c9cb7a82cc5b8 |
Headers | show |
Series | staging/vc04_services/bcm2835-camera: distinct numeration and names for devices | expand |
Hi Michael, Am 04.12.19 um 12:48 schrieb Michael Kupfer: > Create a static atomic counter for numerating cameras. > Use the Media Subsystem Kernel Internal API to create distinct > device-names, so that the camera-number (given by the counter) > matches the camera-name. > > Co-developed-by: Kay Friedrich <kay.friedrich@fau.de> > Signed-off-by: Kay Friedrich <kay.friedrich@fau.de> > Signed-off-by: Michael Kupfer <michael.kupfer@fau.de> this is a functional change. Please send this patch to Nicolas Saenz Julienne the new BCM2835 maintainer and the Video4Linux guys (Mauro and Hans) and the linux media mailing list. Regards Stefan
Hi, On Wed, 2019-12-04 at 12:48 +0100, Michael Kupfer wrote: > Create a static atomic counter for numerating cameras. > Use the Media Subsystem Kernel Internal API to create distinct > device-names, so that the camera-number (given by the counter) > matches the camera-name. > > Co-developed-by: Kay Friedrich <kay.friedrich@fau.de> > Signed-off-by: Kay Friedrich <kay.friedrich@fau.de> > Signed-off-by: Michael Kupfer <michael.kupfer@fau.de> > --- The patch itself seems fine, but could you resend it making sure you CC everyone listed by ./scripts/get_maintainer.sh. Regards, Nicolas
diff --git a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c index beb6a0063bb8..be5f90a8b49d 100644 --- a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c +++ b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c @@ -60,6 +60,9 @@ MODULE_PARM_DESC(max_video_width, "Threshold for video mode"); module_param(max_video_height, int, 0644); MODULE_PARM_DESC(max_video_height, "Threshold for video mode"); +/* camera instance counter */ +static atomic_t camera_instance = ATOMIC_INIT(0); + /* global device data array */ static struct bm2835_mmal_dev *gdev[MAX_BCM2835_CAMERAS]; @@ -1870,7 +1873,6 @@ static int bcm2835_mmal_probe(struct platform_device *pdev) /* v4l2 core mutex used to protect all fops and v4l2 ioctls. */ mutex_init(&dev->mutex); - dev->camera_num = camera; dev->max_width = resolutions[camera][0]; dev->max_height = resolutions[camera][1]; @@ -1886,8 +1888,9 @@ static int bcm2835_mmal_probe(struct platform_device *pdev) dev->capture.fmt = &formats[3]; /* JPEG */ /* v4l device registration */ - snprintf(dev->v4l2_dev.name, sizeof(dev->v4l2_dev.name), - "%s", BM2835_MMAL_MODULE_NAME); + dev->camera_num = v4l2_device_set_name(&dev->v4l2_dev, + BM2835_MMAL_MODULE_NAME, + &camera_instance); ret = v4l2_device_register(NULL, &dev->v4l2_dev); if (ret) { dev_err(&pdev->dev, "%s: could not register V4L2 device: %d\n",