1. 17 Nov, 2015 1 commit
    • Mauro Carvalho Chehab's avatar
      [media] include/media: split I2C headers from V4L2 core · b5dcee22
      Mauro Carvalho Chehab authored
      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: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      b5dcee22
  2. 16 Aug, 2015 1 commit
    • Mauro Carvalho Chehab's avatar
      [media] sr030pc30: don't read a new pointer · 27c03975
      Mauro Carvalho Chehab authored
      sr030pc30_get_fmt() can only succeed if both info->curr_win and
      info->curr_fmt are not NULL.
      
      If one of those vars are null, the curent code would call:
      	ret = sr030pc30_set_params(sd);
      
      If the curr_win is null, it will return -EINVAL, as it would be
      expected. However, if curr_fmt is NULL, the function won't
      set it.
      
      The code will then try to read from it:
      
              mf->code        = info->curr_fmt->code;
              mf->colorspace  = info->curr_fmt->colorspace;
      
      with obviouly won't work.
      
      This got reported by smatch:
      	drivers/media/i2c/sr030pc30.c:505 sr030pc30_get_fmt() error: we previously assumed 'info->curr_win' could be null (see line 499)
      	drivers/media/i2c/sr030pc30.c:507 sr030pc30_get_fmt() error: we previously assumed 'info->curr_fmt' could be null (see line 499)
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      27c03975
  3. 06 Jul, 2015 1 commit
  4. 01 May, 2015 3 commits
  5. 14 Nov, 2014 1 commit
  6. 07 Feb, 2014 1 commit
  7. 17 Jun, 2013 1 commit
  8. 21 May, 2013 1 commit
  9. 15 Aug, 2012 1 commit
  10. 08 Mar, 2012 1 commit
  11. 31 Oct, 2011 1 commit
  12. 21 Sep, 2011 1 commit
  13. 27 Jul, 2011 1 commit
  14. 19 Jan, 2011 1 commit
  15. 29 Dec, 2010 1 commit
  16. 21 Oct, 2010 3 commits