Skip to content

Commit ff71ef9

Browse files
ribaldahverkuil
authored andcommitted
media: vivid: Move all fb_info references into vivid-osd
Most references to fb_info are already within vivid-osd.c. This patch moves the remaining references into vivid-osd.c. We also take this opportunity to make the function names in vivid-osd more consistent. This is a preparation patch to make CONFIG_FB optional for vivid. Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
1 parent 308e51f commit ff71ef9

File tree

5 files changed

+28
-16
lines changed

5 files changed

+28
-16
lines changed

drivers/media/test-drivers/vivid/vivid-core.c

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1410,8 +1410,6 @@ static int vivid_create_queues(struct vivid_dev *dev)
14101410
ret = vivid_fb_init(dev);
14111411
if (ret)
14121412
return ret;
1413-
v4l2_info(&dev->v4l2_dev, "Framebuffer device registered as fb%d\n",
1414-
dev->fb_info.node);
14151413
}
14161414
return 0;
14171415
}
@@ -2197,12 +2195,8 @@ static void vivid_remove(struct platform_device *pdev)
21972195
video_device_node_name(&dev->radio_tx_dev));
21982196
video_unregister_device(&dev->radio_tx_dev);
21992197
}
2200-
if (dev->has_fb) {
2201-
v4l2_info(&dev->v4l2_dev, "unregistering fb%d\n",
2202-
dev->fb_info.node);
2203-
unregister_framebuffer(&dev->fb_info);
2204-
vivid_fb_release_buffers(dev);
2205-
}
2198+
if (dev->has_fb)
2199+
vivid_fb_deinit(dev);
22062200
if (dev->has_meta_cap) {
22072201
v4l2_info(&dev->v4l2_dev, "unregistering %s\n",
22082202
video_device_node_name(&dev->meta_cap_dev));

drivers/media/test-drivers/vivid/vivid-ctrls.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,7 @@ static int vivid_fb_s_ctrl(struct v4l2_ctrl *ctrl)
402402

403403
switch (ctrl->id) {
404404
case VIVID_CID_CLEAR_FB:
405-
vivid_clear_fb(dev);
405+
vivid_fb_clear(dev);
406406
break;
407407
}
408408
return 0;

drivers/media/test-drivers/vivid/vivid-osd.c

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,18 @@ static const u16 rgb565[16] = {
4545
0xffff, 0xffe0, 0x07ff, 0x07e0, 0xf81f, 0xf800, 0x001f, 0x0000
4646
};
4747

48-
void vivid_clear_fb(struct vivid_dev *dev)
48+
unsigned int vivid_fb_green_bits(struct vivid_dev *dev)
49+
{
50+
return dev->fb_defined.green.length;
51+
}
52+
53+
void vivid_fb_clear(struct vivid_dev *dev)
4954
{
5055
void *p = dev->video_vbase;
5156
const u16 *rgb = rgb555;
5257
unsigned x, y;
5358

54-
if (dev->fb_defined.green.length == 6)
59+
if (vivid_fb_green_bits(dev) == 6)
5560
rgb = rgb565;
5661

5762
for (y = 0; y < dev->display_height; y++) {
@@ -333,7 +338,7 @@ static int vivid_fb_init_vidmode(struct vivid_dev *dev)
333338
}
334339

335340
/* Release any memory we've grabbed */
336-
void vivid_fb_release_buffers(struct vivid_dev *dev)
341+
static void vivid_fb_release_buffers(struct vivid_dev *dev)
337342
{
338343
if (dev->video_vbase == NULL)
339344
return;
@@ -370,7 +375,7 @@ int vivid_fb_init(struct vivid_dev *dev)
370375
return ret;
371376
}
372377

373-
vivid_clear_fb(dev);
378+
vivid_fb_clear(dev);
374379

375380
/* Register the framebuffer */
376381
if (register_framebuffer(&dev->fb_info) < 0) {
@@ -380,6 +385,17 @@ int vivid_fb_init(struct vivid_dev *dev)
380385

381386
/* Set the card to the requested mode */
382387
vivid_fb_set_par(&dev->fb_info);
388+
389+
v4l2_info(&dev->v4l2_dev, "Framebuffer device registered as fb%d\n",
390+
dev->fb_info.node);
391+
383392
return 0;
384393

385394
}
395+
396+
void vivid_fb_deinit(struct vivid_dev *dev)
397+
{
398+
v4l2_info(&dev->v4l2_dev, "unregistering fb%d\n", dev->fb_info.node);
399+
unregister_framebuffer(&dev->fb_info);
400+
vivid_fb_release_buffers(dev);
401+
}

drivers/media/test-drivers/vivid/vivid-osd.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
#define _VIVID_OSD_H_
1010

1111
int vivid_fb_init(struct vivid_dev *dev);
12-
void vivid_fb_release_buffers(struct vivid_dev *dev);
13-
void vivid_clear_fb(struct vivid_dev *dev);
12+
void vivid_fb_deinit(struct vivid_dev *dev);
13+
void vivid_fb_clear(struct vivid_dev *dev);
14+
unsigned int vivid_fb_green_bits(struct vivid_dev *dev);
1415

1516
#endif

drivers/media/test-drivers/vivid/vivid-vid-out.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#include <media/v4l2-rect.h>
1717

1818
#include "vivid-core.h"
19+
#include "vivid-osd.h"
1920
#include "vivid-vid-common.h"
2021
#include "vivid-kthread-out.h"
2122
#include "vivid-vid-out.h"
@@ -907,7 +908,7 @@ int vivid_vid_out_g_fbuf(struct file *file, void *fh,
907908
a->base = (void *)dev->video_pbase;
908909
a->fmt.width = dev->display_width;
909910
a->fmt.height = dev->display_height;
910-
if (dev->fb_defined.green.length == 5)
911+
if (vivid_fb_green_bits(dev) == 5)
911912
a->fmt.pixelformat = V4L2_PIX_FMT_ARGB555;
912913
else
913914
a->fmt.pixelformat = V4L2_PIX_FMT_RGB565;

0 commit comments

Comments
 (0)