2019-06-04 11:11:33 +03:00
// SPDX-License-Identifier: GPL-2.0-only
2013-06-10 15:51:44 +04:00
/*
* Samsung S5P / EXYNOS4 SoC Camera Subsystem driver
*
* Copyright ( C ) 2013 Samsung Electronics Co . , Ltd .
* Author : Sylwester Nawrocki < s . nawrocki @ samsung . com >
*/
# include <linux/module.h>
2015-11-14 00:40:07 +03:00
# include <media/drv-intf/exynos-fimc.h>
2013-06-10 15:51:44 +04:00
# include "common.h"
/* Called with the media graph mutex held or entity->stream_count > 0. */
struct v4l2_subdev * fimc_find_remote_sensor ( struct media_entity * entity )
{
struct media_pad * pad = & entity - > pads [ 0 ] ;
struct v4l2_subdev * sd ;
while ( pad - > flags & MEDIA_PAD_FL_SINK ) {
/* source pad */
pad = media_entity_remote_pad ( pad ) ;
2015-05-08 04:12:32 +03:00
if ( ! pad | | ! is_media_entity_v4l2_subdev ( pad - > entity ) )
2013-06-10 15:51:44 +04:00
break ;
sd = media_entity_to_v4l2_subdev ( pad - > entity ) ;
if ( sd - > grp_id = = GRP_ID_FIMC_IS_SENSOR | |
sd - > grp_id = = GRP_ID_SENSOR )
return sd ;
/* sink pad */
pad = & sd - > entity . pads [ 0 ] ;
}
return NULL ;
}
EXPORT_SYMBOL ( fimc_find_remote_sensor ) ;
2019-06-04 10:06:24 +03:00
void __fimc_vidioc_querycap ( struct device * dev , struct v4l2_capability * cap )
2013-05-31 20:47:03 +04:00
{
2018-09-10 15:19:14 +03:00
strscpy ( cap - > driver , dev - > driver - > name , sizeof ( cap - > driver ) ) ;
strscpy ( cap - > card , dev - > driver - > name , sizeof ( cap - > card ) ) ;
2013-05-31 20:47:03 +04:00
snprintf ( cap - > bus_info , sizeof ( cap - > bus_info ) ,
" platform:%s " , dev_name ( dev ) ) ;
}
EXPORT_SYMBOL ( __fimc_vidioc_querycap ) ;
2013-06-10 15:51:44 +04:00
MODULE_LICENSE ( " GPL " ) ;