diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-12-07 15:23:38 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-01-25 16:03:15 -0500 |
commit | 90bdc14533fa37b86ada57fcf60c634106ddbb3f (patch) | |
tree | b44ee7b2ba032ce08c7df10647b5ef6349eeb62b /drivers/media/video | |
parent | 8f61ae2f4ff698c7cd83b1f17b1ca2ecfc7f0696 (diff) |
V4L/DVB (6735): Reorder functions to make easier to compare with the previous code
After this patch, the order of the functions will be the same as before the
patch converting the driver to user video_ioctl2. This makes easier to diff
between the previous version and the newer one.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video')
-rw-r--r-- | drivers/media/video/saa7134/saa7134-video.c | 348 |
1 files changed, 174 insertions, 174 deletions
diff --git a/drivers/media/video/saa7134/saa7134-video.c b/drivers/media/video/saa7134/saa7134-video.c index 954542e5c99f..76b841dd7ec0 100644 --- a/drivers/media/video/saa7134/saa7134-video.c +++ b/drivers/media/video/saa7134/saa7134-video.c | |||
@@ -1670,30 +1670,6 @@ static int vidioc_s_fmt_cap(struct file *file, void *priv, | |||
1670 | } | 1670 | } |
1671 | } | 1671 | } |
1672 | 1672 | ||
1673 | static int vidioc_g_input(struct file *file, void *priv, unsigned int *i) | ||
1674 | { | ||
1675 | struct saa7134_fh *fh = priv; | ||
1676 | struct saa7134_dev *dev = fh->dev; | ||
1677 | |||
1678 | *i = dev->ctl_input; | ||
1679 | return 0; | ||
1680 | } | ||
1681 | |||
1682 | static int vidioc_s_input(struct file *file, void *priv, unsigned int i) | ||
1683 | { | ||
1684 | struct saa7134_fh *fh = priv; | ||
1685 | struct saa7134_dev *dev = fh->dev; | ||
1686 | |||
1687 | if (i < 0 || i >= SAA7134_INPUT_MAX) | ||
1688 | return -EINVAL; | ||
1689 | if (NULL == card_in(dev, i).name) | ||
1690 | return -EINVAL; | ||
1691 | mutex_lock(&dev->lock); | ||
1692 | video_mux(dev, i); | ||
1693 | mutex_unlock(&dev->lock); | ||
1694 | return 0; | ||
1695 | } | ||
1696 | |||
1697 | static int vidioc_queryctrl(struct file *file, void *priv, | 1673 | static int vidioc_queryctrl(struct file *file, void *priv, |
1698 | struct v4l2_queryctrl *c) | 1674 | struct v4l2_queryctrl *c) |
1699 | { | 1675 | { |
@@ -1744,6 +1720,30 @@ static int vidioc_enum_input(struct file *file, void *priv, | |||
1744 | return 0; | 1720 | return 0; |
1745 | } | 1721 | } |
1746 | 1722 | ||
1723 | static int vidioc_g_input(struct file *file, void *priv, unsigned int *i) | ||
1724 | { | ||
1725 | struct saa7134_fh *fh = priv; | ||
1726 | struct saa7134_dev *dev = fh->dev; | ||
1727 | |||
1728 | *i = dev->ctl_input; | ||
1729 | return 0; | ||
1730 | } | ||
1731 | |||
1732 | static int vidioc_s_input(struct file *file, void *priv, unsigned int i) | ||
1733 | { | ||
1734 | struct saa7134_fh *fh = priv; | ||
1735 | struct saa7134_dev *dev = fh->dev; | ||
1736 | |||
1737 | if (i < 0 || i >= SAA7134_INPUT_MAX) | ||
1738 | return -EINVAL; | ||
1739 | if (NULL == card_in(dev, i).name) | ||
1740 | return -EINVAL; | ||
1741 | mutex_lock(&dev->lock); | ||
1742 | video_mux(dev, i); | ||
1743 | mutex_unlock(&dev->lock); | ||
1744 | return 0; | ||
1745 | } | ||
1746 | |||
1747 | static int vidioc_querycap(struct file *file, void *priv, | 1747 | static int vidioc_querycap(struct file *file, void *priv, |
1748 | struct v4l2_capability *cap) | 1748 | struct v4l2_capability *cap) |
1749 | { | 1749 | { |
@@ -1847,6 +1847,55 @@ static int vidioc_cropcap(struct file *file, void *priv, | |||
1847 | return 0; | 1847 | return 0; |
1848 | } | 1848 | } |
1849 | 1849 | ||
1850 | static int vidioc_g_crop(struct file *file, void *f, struct v4l2_crop *crop) | ||
1851 | { | ||
1852 | struct saa7134_fh *fh = f; | ||
1853 | struct saa7134_dev *dev = fh->dev; | ||
1854 | |||
1855 | if (crop->type != V4L2_BUF_TYPE_VIDEO_CAPTURE && | ||
1856 | crop->type != V4L2_BUF_TYPE_VIDEO_OVERLAY) | ||
1857 | return -EINVAL; | ||
1858 | crop->c = dev->crop_current; | ||
1859 | return 0; | ||
1860 | } | ||
1861 | |||
1862 | static int vidioc_s_crop(struct file *file, void *f, struct v4l2_crop *crop) | ||
1863 | { | ||
1864 | struct saa7134_fh *fh = f; | ||
1865 | struct saa7134_dev *dev = fh->dev; | ||
1866 | struct v4l2_rect *b = &dev->crop_bounds; | ||
1867 | |||
1868 | if (crop->type != V4L2_BUF_TYPE_VIDEO_CAPTURE && | ||
1869 | crop->type != V4L2_BUF_TYPE_VIDEO_OVERLAY) | ||
1870 | return -EINVAL; | ||
1871 | if (crop->c.height < 0) | ||
1872 | return -EINVAL; | ||
1873 | if (crop->c.width < 0) | ||
1874 | return -EINVAL; | ||
1875 | |||
1876 | if (res_locked(fh->dev, RESOURCE_OVERLAY)) | ||
1877 | return -EBUSY; | ||
1878 | if (res_locked(fh->dev, RESOURCE_VIDEO)) | ||
1879 | return -EBUSY; | ||
1880 | |||
1881 | if (crop->c.top < b->top) | ||
1882 | crop->c.top = b->top; | ||
1883 | if (crop->c.top > b->top + b->height) | ||
1884 | crop->c.top = b->top + b->height; | ||
1885 | if (crop->c.height > b->top - crop->c.top + b->height) | ||
1886 | crop->c.height = b->top - crop->c.top + b->height; | ||
1887 | |||
1888 | if (crop->c.left < b->left) | ||
1889 | crop->c.left = b->left; | ||
1890 | if (crop->c.left > b->left + b->width) | ||
1891 | crop->c.left = b->left + b->width; | ||
1892 | if (crop->c.width > b->left - crop->c.left + b->width) | ||
1893 | crop->c.width = b->left - crop->c.left + b->width; | ||
1894 | |||
1895 | dev->crop_current = crop->c; | ||
1896 | return 0; | ||
1897 | } | ||
1898 | |||
1850 | static int vidioc_g_tuner(struct file *file, void *priv, | 1899 | static int vidioc_g_tuner(struct file *file, void *priv, |
1851 | struct v4l2_tuner *t) | 1900 | struct v4l2_tuner *t) |
1852 | { | 1901 | { |
@@ -1939,113 +1988,64 @@ static int vidioc_s_audio(struct file *file, void *priv, struct v4l2_audio *a) | |||
1939 | return 0; | 1988 | return 0; |
1940 | } | 1989 | } |
1941 | 1990 | ||
1942 | static int vidioc_streamon(struct file *file, void *priv, | 1991 | static int vidioc_g_priority(struct file *file, void *f, enum v4l2_priority *p) |
1943 | enum v4l2_buf_type type) | ||
1944 | { | ||
1945 | struct saa7134_fh *fh = priv; | ||
1946 | struct saa7134_dev *dev = fh->dev; | ||
1947 | int res = saa7134_resource(fh); | ||
1948 | |||
1949 | if (!res_get(dev, fh, res)) | ||
1950 | return -EBUSY; | ||
1951 | |||
1952 | return videobuf_streamon(saa7134_queue(fh)); | ||
1953 | } | ||
1954 | |||
1955 | static int vidioc_streamoff(struct file *file, void *priv, | ||
1956 | enum v4l2_buf_type type) | ||
1957 | { | ||
1958 | int err; | ||
1959 | struct saa7134_fh *fh = priv; | ||
1960 | struct saa7134_dev *dev = fh->dev; | ||
1961 | int res = saa7134_resource(fh); | ||
1962 | |||
1963 | err = videobuf_streamoff(saa7134_queue(fh)); | ||
1964 | if (err < 0) | ||
1965 | return err; | ||
1966 | res_free(dev, fh, res); | ||
1967 | return 0; | ||
1968 | } | ||
1969 | |||
1970 | static int vidioc_reqbufs(struct file *file, void *priv, | ||
1971 | struct v4l2_requestbuffers *p) | ||
1972 | { | ||
1973 | struct saa7134_fh *fh = priv; | ||
1974 | return videobuf_reqbufs(saa7134_queue(fh), p); | ||
1975 | } | ||
1976 | |||
1977 | static int vidioc_s_crop(struct file *file, void *f, struct v4l2_crop *crop) | ||
1978 | { | 1992 | { |
1979 | struct saa7134_fh *fh = f; | 1993 | struct saa7134_fh *fh = f; |
1980 | struct saa7134_dev *dev = fh->dev; | 1994 | struct saa7134_dev *dev = fh->dev; |
1981 | struct v4l2_rect *b = &dev->crop_bounds; | ||
1982 | |||
1983 | if (crop->type != V4L2_BUF_TYPE_VIDEO_CAPTURE && | ||
1984 | crop->type != V4L2_BUF_TYPE_VIDEO_OVERLAY) | ||
1985 | return -EINVAL; | ||
1986 | if (crop->c.height < 0) | ||
1987 | return -EINVAL; | ||
1988 | if (crop->c.width < 0) | ||
1989 | return -EINVAL; | ||
1990 | |||
1991 | if (res_locked(fh->dev, RESOURCE_OVERLAY)) | ||
1992 | return -EBUSY; | ||
1993 | if (res_locked(fh->dev, RESOURCE_VIDEO)) | ||
1994 | return -EBUSY; | ||
1995 | 1995 | ||
1996 | if (crop->c.top < b->top) | 1996 | *p = v4l2_prio_max(&dev->prio); |
1997 | crop->c.top = b->top; | ||
1998 | if (crop->c.top > b->top + b->height) | ||
1999 | crop->c.top = b->top + b->height; | ||
2000 | if (crop->c.height > b->top - crop->c.top + b->height) | ||
2001 | crop->c.height = b->top - crop->c.top + b->height; | ||
2002 | |||
2003 | if (crop->c.left < b->left) | ||
2004 | crop->c.left = b->left; | ||
2005 | if (crop->c.left > b->left + b->width) | ||
2006 | crop->c.left = b->left + b->width; | ||
2007 | if (crop->c.width > b->left - crop->c.left + b->width) | ||
2008 | crop->c.width = b->left - crop->c.left + b->width; | ||
2009 | |||
2010 | dev->crop_current = crop->c; | ||
2011 | return 0; | 1997 | return 0; |
2012 | } | 1998 | } |
2013 | 1999 | ||
2014 | static int vidioc_g_crop(struct file *file, void *f, struct v4l2_crop *crop) | 2000 | static int vidioc_s_priority(struct file *file, void *f, |
2001 | enum v4l2_priority prio) | ||
2015 | { | 2002 | { |
2016 | struct saa7134_fh *fh = f; | 2003 | struct saa7134_fh *fh = f; |
2017 | struct saa7134_dev *dev = fh->dev; | 2004 | struct saa7134_dev *dev = fh->dev; |
2018 | 2005 | ||
2019 | if (crop->type != V4L2_BUF_TYPE_VIDEO_CAPTURE && | 2006 | return v4l2_prio_change(&dev->prio, &fh->prio, prio); |
2020 | crop->type != V4L2_BUF_TYPE_VIDEO_OVERLAY) | ||
2021 | return -EINVAL; | ||
2022 | crop->c = dev->crop_current; | ||
2023 | return 0; | ||
2024 | } | ||
2025 | |||
2026 | static int vidioc_g_parm(struct file *file, void *fh, | ||
2027 | struct v4l2_streamparm *parm) | ||
2028 | { | ||
2029 | memset(parm, 0, sizeof(*parm)); | ||
2030 | return 0; | ||
2031 | } | 2007 | } |
2032 | 2008 | ||
2033 | static int vidioc_g_priority(struct file *file, void *f, enum v4l2_priority *p) | 2009 | static int vidioc_enum_fmt_cap(struct file *file, void *priv, |
2010 | struct v4l2_fmtdesc *f) | ||
2034 | { | 2011 | { |
2035 | struct saa7134_fh *fh = f; | 2012 | enum v4l2_buf_type type; |
2036 | struct saa7134_dev *dev = fh->dev; | 2013 | unsigned int index; |
2037 | 2014 | ||
2038 | *p = v4l2_prio_max(&dev->prio); | 2015 | index = f->index; |
2039 | return 0; | 2016 | type = f->type; |
2040 | } | 2017 | switch (type) { |
2018 | case V4L2_BUF_TYPE_VIDEO_CAPTURE: | ||
2019 | case V4L2_BUF_TYPE_VIDEO_OVERLAY: | ||
2020 | if (saa7134_no_overlay > 0) | ||
2021 | return -EINVAL; | ||
2041 | 2022 | ||
2042 | static int vidioc_s_priority(struct file *file, void *f, | 2023 | if (index >= FORMATS) |
2043 | enum v4l2_priority prio) | 2024 | return -EINVAL; |
2044 | { | ||
2045 | struct saa7134_fh *fh = f; | ||
2046 | struct saa7134_dev *dev = fh->dev; | ||
2047 | 2025 | ||
2048 | return v4l2_prio_change(&dev->prio, &fh->prio, prio); | 2026 | if (f->type == V4L2_BUF_TYPE_VIDEO_OVERLAY && |
2027 | formats[index].planar) | ||
2028 | return -EINVAL; | ||
2029 | memset(f, 0, sizeof(*f)); | ||
2030 | f->index = index; | ||
2031 | f->type = type; | ||
2032 | strlcpy(f->description, formats[index].name, | ||
2033 | sizeof(f->description)); | ||
2034 | f->pixelformat = formats[index].fourcc; | ||
2035 | break; | ||
2036 | case V4L2_BUF_TYPE_VBI_CAPTURE: | ||
2037 | if (0 != index) | ||
2038 | return -EINVAL; | ||
2039 | memset(f, 0, sizeof(*f)); | ||
2040 | f->index = index; | ||
2041 | f->type = type; | ||
2042 | f->pixelformat = V4L2_PIX_FMT_GREY; | ||
2043 | strcpy(f->description, "vbi data"); | ||
2044 | break; | ||
2045 | default: | ||
2046 | return -EINVAL; | ||
2047 | } | ||
2048 | return 0; | ||
2049 | } | 2049 | } |
2050 | 2050 | ||
2051 | static int vidioc_g_fbuf(struct file *file, void *f, | 2051 | static int vidioc_g_fbuf(struct file *file, void *f, |
@@ -2085,26 +2085,6 @@ static int vidioc_s_fbuf(struct file *file, void *f, | |||
2085 | return 0; | 2085 | return 0; |
2086 | } | 2086 | } |
2087 | 2087 | ||
2088 | static int vidioc_querybuf(struct file *file, void *priv, | ||
2089 | struct v4l2_buffer *b) | ||
2090 | { | ||
2091 | struct saa7134_fh *fh = priv; | ||
2092 | return videobuf_querybuf(saa7134_queue(fh), b); | ||
2093 | } | ||
2094 | |||
2095 | static int vidioc_qbuf(struct file *file, void *priv, struct v4l2_buffer *b) | ||
2096 | { | ||
2097 | struct saa7134_fh *fh = priv; | ||
2098 | return videobuf_qbuf(saa7134_queue(fh), b); | ||
2099 | } | ||
2100 | |||
2101 | static int vidioc_dqbuf(struct file *file, void *priv, struct v4l2_buffer *b) | ||
2102 | { | ||
2103 | struct saa7134_fh *fh = priv; | ||
2104 | return videobuf_dqbuf(saa7134_queue(fh), b, | ||
2105 | file->f_flags & O_NONBLOCK); | ||
2106 | } | ||
2107 | |||
2108 | static int vidioc_overlay(struct file *file, void *f, unsigned int on) | 2088 | static int vidioc_overlay(struct file *file, void *f, unsigned int on) |
2109 | { | 2089 | { |
2110 | struct saa7134_fh *fh = f; | 2090 | struct saa7134_fh *fh = f; |
@@ -2134,55 +2114,75 @@ static int vidioc_overlay(struct file *file, void *f, unsigned int on) | |||
2134 | return 0; | 2114 | return 0; |
2135 | } | 2115 | } |
2136 | 2116 | ||
2137 | static int vidioc_enum_fmt_cap(struct file *file, void *priv, | 2117 | #ifdef CONFIG_VIDEO_V4L1_COMPAT |
2138 | struct v4l2_fmtdesc *f) | 2118 | static int vidiocgmbuf(struct file *file, void *priv, struct video_mbuf *mbuf) |
2139 | { | 2119 | { |
2140 | enum v4l2_buf_type type; | 2120 | struct saa7134_fh *fh = file->private_data; |
2141 | unsigned int index; | 2121 | return videobuf_cgmbuf(saa7134_queue(fh), mbuf, 8); |
2122 | } | ||
2123 | #endif | ||
2142 | 2124 | ||
2143 | index = f->index; | 2125 | static int vidioc_reqbufs(struct file *file, void *priv, |
2144 | type = f->type; | 2126 | struct v4l2_requestbuffers *p) |
2145 | switch (type) { | 2127 | { |
2146 | case V4L2_BUF_TYPE_VIDEO_CAPTURE: | 2128 | struct saa7134_fh *fh = priv; |
2147 | case V4L2_BUF_TYPE_VIDEO_OVERLAY: | 2129 | return videobuf_reqbufs(saa7134_queue(fh), p); |
2148 | if (saa7134_no_overlay > 0) | 2130 | } |
2149 | return -EINVAL; | ||
2150 | 2131 | ||
2151 | if (index >= FORMATS) | 2132 | static int vidioc_querybuf(struct file *file, void *priv, |
2152 | return -EINVAL; | 2133 | struct v4l2_buffer *b) |
2134 | { | ||
2135 | struct saa7134_fh *fh = priv; | ||
2136 | return videobuf_querybuf(saa7134_queue(fh), b); | ||
2137 | } | ||
2153 | 2138 | ||
2154 | if (f->type == V4L2_BUF_TYPE_VIDEO_OVERLAY && | 2139 | static int vidioc_qbuf(struct file *file, void *priv, struct v4l2_buffer *b) |
2155 | formats[index].planar) | 2140 | { |
2156 | return -EINVAL; | 2141 | struct saa7134_fh *fh = priv; |
2157 | memset(f, 0, sizeof(*f)); | 2142 | return videobuf_qbuf(saa7134_queue(fh), b); |
2158 | f->index = index; | 2143 | } |
2159 | f->type = type; | 2144 | |
2160 | strlcpy(f->description, formats[index].name, | 2145 | static int vidioc_dqbuf(struct file *file, void *priv, struct v4l2_buffer *b) |
2161 | sizeof(f->description)); | 2146 | { |
2162 | f->pixelformat = formats[index].fourcc; | 2147 | struct saa7134_fh *fh = priv; |
2163 | break; | 2148 | return videobuf_dqbuf(saa7134_queue(fh), b, |
2164 | case V4L2_BUF_TYPE_VBI_CAPTURE: | 2149 | file->f_flags & O_NONBLOCK); |
2165 | if (0 != index) | 2150 | } |
2166 | return -EINVAL; | 2151 | |
2167 | memset(f, 0, sizeof(*f)); | 2152 | static int vidioc_streamon(struct file *file, void *priv, |
2168 | f->index = index; | 2153 | enum v4l2_buf_type type) |
2169 | f->type = type; | 2154 | { |
2170 | f->pixelformat = V4L2_PIX_FMT_GREY; | 2155 | struct saa7134_fh *fh = priv; |
2171 | strcpy(f->description, "vbi data"); | 2156 | struct saa7134_dev *dev = fh->dev; |
2172 | break; | 2157 | int res = saa7134_resource(fh); |
2173 | default: | 2158 | |
2174 | return -EINVAL; | 2159 | if (!res_get(dev, fh, res)) |
2175 | } | 2160 | return -EBUSY; |
2161 | |||
2162 | return videobuf_streamon(saa7134_queue(fh)); | ||
2163 | } | ||
2164 | |||
2165 | static int vidioc_streamoff(struct file *file, void *priv, | ||
2166 | enum v4l2_buf_type type) | ||
2167 | { | ||
2168 | int err; | ||
2169 | struct saa7134_fh *fh = priv; | ||
2170 | struct saa7134_dev *dev = fh->dev; | ||
2171 | int res = saa7134_resource(fh); | ||
2172 | |||
2173 | err = videobuf_streamoff(saa7134_queue(fh)); | ||
2174 | if (err < 0) | ||
2175 | return err; | ||
2176 | res_free(dev, fh, res); | ||
2176 | return 0; | 2177 | return 0; |
2177 | } | 2178 | } |
2178 | 2179 | ||
2179 | #ifdef CONFIG_VIDEO_V4L1_COMPAT | 2180 | static int vidioc_g_parm(struct file *file, void *fh, |
2180 | static int vidiocgmbuf(struct file *file, void *priv, struct video_mbuf *mbuf) | 2181 | struct v4l2_streamparm *parm) |
2181 | { | 2182 | { |
2182 | struct saa7134_fh *fh = file->private_data; | 2183 | memset(parm, 0, sizeof(*parm)); |
2183 | return videobuf_cgmbuf(saa7134_queue(fh), mbuf, 8); | 2184 | return 0; |
2184 | } | 2185 | } |
2185 | #endif | ||
2186 | 2186 | ||
2187 | static int radio_querycap(struct file *file, void *priv, | 2187 | static int radio_querycap(struct file *file, void *priv, |
2188 | struct v4l2_capability *cap) | 2188 | struct v4l2_capability *cap) |