mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-09-04 20:19:47 +08:00 
			
		
		
		
	 b5dcee225c
			
		
	
	
		b5dcee225c
		
	
	
	
	
		
			
			Currently, include/media is messy, as it contains both the V4L2 core
headers and some driver-specific headers on the same place. That makes
harder to identify what core headers should be documented and what
headers belong to I2C drivers that are included only by bridge/main
drivers that would require the functions provided by them.
Let's move those i2c specific files to its own subdirectory.
The files to move were produced via the following script:
	mkdir include/media/i2c
	(cd include/media; for i in *.h; do n=`echo $i|sed s/.h$/.c/`; if [ -e ../../drivers/media/i2c/$n ]; then echo $i; git mv $i i2c/; fi; done)
	(cd include/media; for i in *.h; do n=`echo $i|sed s/.h$/.c/`; if [ -e ../../drivers/media/*/i2c/$n ]; then echo $i; git mv $i i2c/; fi; done)
	for i in include/media/*.h; do n=`basename $i`;  (for j in $(git grep -l $n); do dirname $j; done)|sort|uniq|grep -ve '^.$' > list; num=$(wc -l list|cut -d' ' -f1); if [ $num == 1 ]; then if [ "`grep i2c list`" != "" ]; then git mv $i include/media/i2c; fi; fi; done
And the references corrected via this script:
    MAIN_DIR="media/"
    PREV_DIR="media/"
    DIRS="i2c/"
    echo "Checking affected files" >&2
    for i in $DIRS; do
	for j in $(find include/$MAIN_DIR/$i -type f -name '*.h'); do
		 n=`basename $j`
		git grep -l $n
	done
    done|sort|uniq >files && (
	echo "Handling files..." >&2;
	echo "for i in \$(cat files|grep -v Documentation); do cat \$i | \\";
	(
		cd include/$MAIN_DIR;
		for j in $DIRS; do
			for i in $(ls $j); do
				echo "perl -ne 's,(include [\\\"\\<])$PREV_DIR($i)([\\\"\\>]),\1$MAIN_DIR$j\2\3,; print \$_' |\\";
			done;
		done;
		echo "cat > a && mv a \$i; done";
	);
	echo "Handling documentation..." >&2;
	echo "for i in MAINTAINERS \$(cat files); do cat \$i | \\";
	(
		cd include/$MAIN_DIR;
		for j in $DIRS; do
			for i in $(ls $j); do
				echo "  perl -ne 's,include/$PREV_DIR($i)\b,include/$MAIN_DIR$j\1,; print \$_' |\\";
			done;
		done;
		echo "cat > a && mv a \$i; done"
	);
    ) >script && . ./script
Merged Sakari Ailus patch that moves smiapp.h to include/media/i2c.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
		
	
			
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Samsung LSI S5C73M3 8M pixel camera driver
 | |
|  *
 | |
|  * Copyright (C) 2012, Samsung Electronics, Co., Ltd.
 | |
|  * Sylwester Nawrocki <s.nawrocki@samsung.com>
 | |
|  * Andrzej Hajda <a.hajda@samsung.com>
 | |
|  *
 | |
|  * This program is free software; you can redistribute it and/or
 | |
|  * modify it under the terms of the GNU General Public License
 | |
|  * version 2 as published by the Free Software Foundation.
 | |
|  *
 | |
|  * This program is free software; you can redistribute it and/or modify
 | |
|  * it under the terms of the GNU General Public License as published by
 | |
|  * the Free Software Foundation; either version 2 of the License, or
 | |
|  * (at your option) any later version.
 | |
|  */
 | |
| #ifndef MEDIA_S5C73M3__
 | |
| #define MEDIA_S5C73M3__
 | |
| 
 | |
| #include <linux/videodev2.h>
 | |
| #include <media/v4l2-mediabus.h>
 | |
| 
 | |
| /**
 | |
|  * struct s5c73m3_gpio - data structure describing a GPIO
 | |
|  * @gpio:  GPIO number
 | |
|  * @level: indicates active state of the @gpio
 | |
|  */
 | |
| struct s5c73m3_gpio {
 | |
| 	int gpio;
 | |
| 	int level;
 | |
| };
 | |
| 
 | |
| /**
 | |
|  * struct s5c73m3_platform_data - s5c73m3 driver platform data
 | |
|  * @mclk_frequency: sensor's master clock frequency in Hz
 | |
|  * @gpio_reset:  GPIO driving RESET pin
 | |
|  * @gpio_stby:   GPIO driving STBY pin
 | |
|  * @nlanes:      maximum number of MIPI-CSI lanes used
 | |
|  * @horiz_flip:  default horizontal image flip value, non zero to enable
 | |
|  * @vert_flip:   default vertical image flip value, non zero to enable
 | |
|  */
 | |
| 
 | |
| struct s5c73m3_platform_data {
 | |
| 	unsigned long mclk_frequency;
 | |
| 
 | |
| 	struct s5c73m3_gpio gpio_reset;
 | |
| 	struct s5c73m3_gpio gpio_stby;
 | |
| 
 | |
| 	enum v4l2_mbus_type bus_type;
 | |
| 	u8 nlanes;
 | |
| 	u8 horiz_flip;
 | |
| 	u8 vert_flip;
 | |
| };
 | |
| 
 | |
| #endif /* MEDIA_S5C73M3__ */
 |