1f5fbb83fSMauro Carvalho Chehab /* SPDX-License-Identifier: GPL-2.0 */
29d4fa1a1SMauro Carvalho Chehab /*
39d4fa1a1SMauro Carvalho Chehab  * Support for Medifield PNW Camera Imaging ISP subsystem.
49d4fa1a1SMauro Carvalho Chehab  *
59d4fa1a1SMauro Carvalho Chehab  * Copyright (c) 2010 Intel Corporation. All Rights Reserved.
69d4fa1a1SMauro Carvalho Chehab  *
79d4fa1a1SMauro Carvalho Chehab  * Copyright (c) 2010 Silicon Hive www.siliconhive.com.
89d4fa1a1SMauro Carvalho Chehab  *
99d4fa1a1SMauro Carvalho Chehab  * This program is free software; you can redistribute it and/or
109d4fa1a1SMauro Carvalho Chehab  * modify it under the terms of the GNU General Public License version
119d4fa1a1SMauro Carvalho Chehab  * 2 as published by the Free Software Foundation.
129d4fa1a1SMauro Carvalho Chehab  *
139d4fa1a1SMauro Carvalho Chehab  * This program is distributed in the hope that it will be useful,
149d4fa1a1SMauro Carvalho Chehab  * but WITHOUT ANY WARRANTY; without even the implied warranty of
159d4fa1a1SMauro Carvalho Chehab  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
169d4fa1a1SMauro Carvalho Chehab  * GNU General Public License for more details.
179d4fa1a1SMauro Carvalho Chehab  *
189d4fa1a1SMauro Carvalho Chehab  *
199d4fa1a1SMauro Carvalho Chehab  */
209d4fa1a1SMauro Carvalho Chehab 
219d4fa1a1SMauro Carvalho Chehab #ifndef __ATOMISP_TPG_H__
229d4fa1a1SMauro Carvalho Chehab #define __ATOMISP_TPG_H__
239d4fa1a1SMauro Carvalho Chehab 
249d4fa1a1SMauro Carvalho Chehab #include <media/media-entity.h>
259d4fa1a1SMauro Carvalho Chehab #include <media/v4l2-subdev.h>
269d4fa1a1SMauro Carvalho Chehab 
279d4fa1a1SMauro Carvalho Chehab struct atomisp_tpg_device {
289d4fa1a1SMauro Carvalho Chehab 	struct v4l2_subdev sd;
299d4fa1a1SMauro Carvalho Chehab 	struct atomisp_device *isp;
309d4fa1a1SMauro Carvalho Chehab 	struct media_pad pads[1];
319d4fa1a1SMauro Carvalho Chehab };
329d4fa1a1SMauro Carvalho Chehab 
339d4fa1a1SMauro Carvalho Chehab void atomisp_tpg_cleanup(struct atomisp_device *isp);
349d4fa1a1SMauro Carvalho Chehab int atomisp_tpg_init(struct atomisp_device *isp);
359d4fa1a1SMauro Carvalho Chehab void atomisp_tpg_unregister_entities(struct atomisp_tpg_device *tpg);
369d4fa1a1SMauro Carvalho Chehab int atomisp_tpg_register_entities(struct atomisp_tpg_device *tpg,
379d4fa1a1SMauro Carvalho Chehab 				  struct v4l2_device *vdev);
389d4fa1a1SMauro Carvalho Chehab 
399d4fa1a1SMauro Carvalho Chehab #endif /* __ATOMISP_TPG_H__ */
40