V4L/DVB (3344d): Stradis video little cleanup


Unused function removed.
Used container_of instead of for loop.
Some small changes

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

authored by Jiri Slaby and committed by Mauro Carvalho Chehab 91fb8357 9ae82293

+69 -103
+69 -103
drivers/media/video/stradis.c
··· 309 309 return result; 310 310 } 311 311 312 - #if 0 /* unused */ 313 - /* MUST be a multiple of 8 bytes and 8-byte aligned and < 32768 bytes */ 314 - /* data copied into saa->dmadebi buffer, caller must re-enable interrupts */ 315 - static void ibm_block_dram_read(struct saa7146 *saa, int address, int bytes) 316 - { 317 - int i, j; 318 - u32 *buf; 319 - buf = (u32 *) saa->dmadebi; 320 - if (bytes > 0x7000) 321 - bytes = 0x7000; 322 - saawrite(0, SAA7146_IER); /* disable interrupts */ 323 - for (i=0; i < 10000 && 324 - (debiread(saa, debNormal, IBM_MP2_DRAM_CMD_STAT, 2) 325 - & 0x8000); i++) 326 - saaread(SAA7146_MC2); 327 - if (i == 10000) 328 - printk(KERN_ERR "stradis%d: dram_busy never cleared\n", 329 - saa->nr); 330 - debiwrite(saa, debNormal, IBM_MP2_SRC_ADDR, (address<<16) | 331 - (address>>16), 4); 332 - debiwrite(saa, debNormal, IBM_MP2_BLOCK_SIZE, bytes, 2); 333 - debiwrite(saa, debNormal, IBM_MP2_CMD_STAT, 0x8a10, 2); 334 - for (j = 0; j < bytes/4; j++) { 335 - for (i = 0; i < 10000 && 336 - (!(debiread(saa, debNormal, IBM_MP2_DRAM_CMD_STAT, 2) 337 - & 0x4000)); i++) 338 - saaread(SAA7146_MC2); 339 - if (i == 10000) 340 - printk(KERN_ERR "stradis%d: dram_ready never set\n", 341 - saa->nr); 342 - buf[j] = debiread(saa, debNormal, IBM_MP2_DRAM_DATA, 4); 343 - } 344 - } 345 - #endif /* unused */ 346 - 347 312 static void do_irq_send_data(struct saa7146 *saa) 348 313 { 349 314 int split, audbytes, vidbytes; ··· 1900 1935 1901 1936 static int saa_open(struct inode *inode, struct file *file) 1902 1937 { 1903 - struct saa7146 *saa = NULL; 1904 - unsigned int minor = iminor(inode); 1905 - int i; 1938 + struct video_device *vdev = video_devdata(file); 1939 + struct saa7146 *saa = container_of(vdev, struct saa7146, video_dev); 1906 1940 1907 - for (i = 0; i < SAA7146_MAX; i++) { 1908 - if (saa7146s[i].video_dev.minor == minor) { 1909 - saa = &saa7146s[i]; 1910 - } 1911 - } 1912 - if (saa == NULL) { 1913 - return -ENODEV; 1914 - } 1915 1941 file->private_data = saa; 1916 1942 1917 - //saa->video_dev.busy = 0; /* old hack to support multiple open */ 1918 1943 saa->user++; 1919 1944 if (saa->user > 1) 1920 1945 return 0; /* device open already, don't reset */ ··· 1916 1961 { 1917 1962 struct saa7146 *saa = file->private_data; 1918 1963 saa->user--; 1919 - //saa->video_dev.busy = 0; /* old hack to support multiple open */ 1964 + 1920 1965 if (saa->user > 0) /* still someone using device */ 1921 1966 return 0; 1922 1967 saawrite(0x007f0000, SAA7146_MC1); /* stop all overlay dma */ ··· 1948 1993 1949 1994 static int __devinit configure_saa7146(struct pci_dev *pdev, int num) 1950 1995 { 1951 - int result; 1952 - struct saa7146 *saa = &saa7146s[num]; 1996 + int retval; 1997 + struct saa7146 *saa = pci_get_drvdata(pdev); 1953 1998 1954 1999 saa->endmarkhead = saa->endmarktail = 0; 1955 2000 saa->win.x = saa->win.y = 0; ··· 1985 2030 init_waitqueue_head(&saa->vidq); 1986 2031 spin_lock_init(&saa->lock); 1987 2032 1988 - if (pci_enable_device(pdev)) 1989 - return -EIO; 2033 + retval = pci_enable_device(pdev); 2034 + if (retval) { 2035 + dev_err(&pdev->dev, "%d: pci_enable_device failed!\n", num); 2036 + goto err; 2037 + } 1990 2038 1991 2039 saa->id = pdev->device; 1992 2040 saa->irq = pdev->irq; ··· 1998 2040 pci_read_config_byte(pdev, PCI_CLASS_REVISION, &saa->revision); 1999 2041 2000 2042 saa->saa7146_mem = ioremap(saa->saa7146_adr, 0x200); 2001 - if (!saa->saa7146_mem) 2002 - return -EIO; 2043 + if (saa->saa7146_mem == NULL) { 2044 + dev_err(&pdev->dev, "%d: ioremap failed!\n", num); 2045 + retval = -EIO; 2046 + goto err; 2047 + } 2003 2048 2004 2049 memcpy(&saa->video_dev, &saa_template, sizeof(saa_template)); 2005 2050 saawrite(0, SAA7146_IER); /* turn off all interrupts */ 2006 - result = request_irq(saa->irq, saa7146_irq, 2007 - SA_SHIRQ | SA_INTERRUPT, "stradis", (void *) saa); 2008 - if (result == -EINVAL) 2051 + 2052 + retval = request_irq(saa->irq, saa7146_irq, SA_SHIRQ | SA_INTERRUPT, 2053 + "stradis", saa); 2054 + if (retval == -EINVAL) 2009 2055 dev_err(&pdev->dev, "%d: Bad irq number or handler\n", num); 2010 - if (result == -EBUSY) 2056 + else if (retval == -EBUSY) 2011 2057 dev_err(&pdev->dev, "%d: IRQ %ld busy, change your PnP config " 2012 2058 "in BIOS\n", num, saa->irq); 2013 - if (result < 0) { 2014 - iounmap(saa->saa7146_mem); 2015 - return result; 2016 - } 2059 + if (retval < 0) 2060 + goto errio; 2061 + 2017 2062 pci_set_master(pdev); 2018 - if (video_register_device(&saa->video_dev, VFL_TYPE_GRABBER, video_nr) < 0) { 2019 - iounmap(saa->saa7146_mem); 2020 - return -1; 2063 + retval = video_register_device(&saa->video_dev, VFL_TYPE_GRABBER, 2064 + video_nr); 2065 + if (retval < 0) { 2066 + dev_err(&pdev->dev, "%d: error in registering video device!\n", 2067 + num); 2068 + goto errio; 2021 2069 } 2070 + 2022 2071 return 0; 2072 + errio: 2073 + iounmap(saa->saa7146_mem); 2074 + err: 2075 + return retval; 2023 2076 } 2024 2077 2025 - static int __devinit init_saa7146(int i, struct device *dev) 2078 + static int __devinit init_saa7146(struct pci_dev *pdev) 2026 2079 { 2027 - struct saa7146 *saa = &saa7146s[i]; 2080 + struct saa7146 *saa = pci_get_drvdata(pdev); 2028 2081 2029 2082 memset(saa, 0, sizeof(*saa)); 2030 2083 saa->user = 0; ··· 2070 2101 2071 2102 /* allocate 32k dma buffer + 4k for page table */ 2072 2103 if ((saa->dmadebi = kmalloc(32768 + 4096, GFP_KERNEL)) == NULL) { 2073 - dev_err(dev, "%d: debi kmalloc failed\n", i); 2074 - return -1; 2104 + dev_err(&pdev->dev, "%d: debi kmalloc failed\n", saa->nr); 2105 + goto err; 2075 2106 } 2076 2107 #if 0 2077 2108 saa->pagedebi = saa->dmadebi + 32768; /* top 4k is for mmu */ ··· 2081 2112 #endif 2082 2113 saa->audhead = saa->vidhead = saa->osdhead = 0; 2083 2114 saa->audtail = saa->vidtail = saa->osdtail = 0; 2084 - if (saa->vidbuf == NULL) 2085 - if ((saa->vidbuf = vmalloc(524288)) == NULL) { 2086 - dev_err(dev, "%d: malloc failed\n", saa->nr); 2087 - return -ENOMEM; 2088 - } 2089 - if (saa->audbuf == NULL) 2090 - if ((saa->audbuf = vmalloc(65536)) == NULL) { 2091 - dev_err(dev, "%d: malloc failed\n", saa->nr); 2092 - vfree(saa->vidbuf); 2093 - saa->vidbuf = NULL; 2094 - return -ENOMEM; 2095 - } 2096 - if (saa->osdbuf == NULL) 2097 - if ((saa->osdbuf = vmalloc(131072)) == NULL) { 2098 - dev_err(dev, "%d: malloc failed\n", saa->nr); 2099 - vfree(saa->vidbuf); 2100 - vfree(saa->audbuf); 2101 - saa->vidbuf = saa->audbuf = NULL; 2102 - return -ENOMEM; 2103 - } 2104 - /* allocate 81920 byte buffer for clipping */ 2105 - if ((saa->dmavid2 = kmalloc(VIDEO_CLIPMAP_SIZE, GFP_KERNEL)) == NULL) { 2106 - dev_err(dev, "%d: clip kmalloc failed\n", saa->nr); 2107 - vfree(saa->vidbuf); 2108 - vfree(saa->audbuf); 2109 - vfree(saa->osdbuf); 2110 - saa->vidbuf = saa->audbuf = saa->osdbuf = NULL; 2111 - saa->dmavid2 = NULL; 2112 - return -1; 2115 + if (saa->vidbuf == NULL && (saa->vidbuf = vmalloc(524288)) == NULL) { 2116 + dev_err(&pdev->dev, "%d: malloc failed\n", saa->nr); 2117 + goto err; 2113 2118 } 2114 - memset(saa->dmavid2, 0x00, VIDEO_CLIPMAP_SIZE); /* clip everything */ 2119 + if (saa->audbuf == NULL && (saa->audbuf = vmalloc(65536)) == NULL) { 2120 + dev_err(&pdev->dev, "%d: malloc failed\n", saa->nr); 2121 + goto errvid; 2122 + } 2123 + if (saa->osdbuf == NULL && (saa->osdbuf = vmalloc(131072)) == NULL) { 2124 + dev_err(&pdev->dev, "%d: malloc failed\n", saa->nr); 2125 + goto erraud; 2126 + } 2127 + /* allocate 81920 byte buffer for clipping */ 2128 + if ((saa->dmavid2 = kzalloc(VIDEO_CLIPMAP_SIZE, GFP_KERNEL)) == NULL) { 2129 + dev_err(&pdev->dev, "%d: clip kmalloc failed\n", saa->nr); 2130 + goto errosd; 2131 + } 2115 2132 /* setup clipping registers */ 2116 2133 saawrite(virt_to_bus(saa->dmavid2), SAA7146_BASE_EVEN2); 2117 2134 saawrite(virt_to_bus(saa->dmavid2) + 128, SAA7146_BASE_ODD2); ··· 2108 2153 saawrite(((SAA7146_MC2_UPLD_DMA2) << 16) | SAA7146_MC2_UPLD_DMA2, 2109 2154 SAA7146_MC2); 2110 2155 I2CBusScan(saa); 2156 + 2111 2157 return 0; 2158 + errosd: 2159 + vfree(saa->osdbuf); 2160 + saa->osdbuf = NULL; 2161 + erraud: 2162 + vfree(saa->audbuf); 2163 + saa->audbuf = NULL; 2164 + errvid: 2165 + vfree(saa->vidbuf); 2166 + saa->vidbuf = NULL; 2167 + err: 2168 + return -ENOMEM; 2112 2169 } 2113 2170 2114 2171 static void stradis_release_saa(struct pci_dev *pdev) 2115 2172 { 2116 2173 u8 command; 2117 - int i = (int)pci_get_drvdata(pdev); 2118 - struct saa7146 *saa = &saa7146s[i]; 2174 + struct saa7146 *saa = pci_get_drvdata(pdev); 2119 2175 2120 2176 /* turn off all capturing, DMA and IRQs */ 2121 2177 saawrite(0xffff0000, SAA7146_MC1); /* reset chip */ ··· 2177 2211 else 2178 2212 dev_info(&pdev->dev, "%d: SDM2xx found\n", saa_num); 2179 2213 2180 - pci_set_drvdata(pdev, (void *)saa_num); 2214 + pci_set_drvdata(pdev, &saa7146s[saa_num]); 2181 2215 2182 2216 retval = configure_saa7146(pdev, saa_num); 2183 2217 if (retval) { ··· 2185 2219 goto err; 2186 2220 } 2187 2221 2188 - if (init_saa7146(saa_num, &pdev->dev) < 0) { 2222 + if (init_saa7146(pdev) < 0) { 2189 2223 dev_err(&pdev->dev, "%d: error in initialization\n", saa_num); 2190 2224 retval = -EIO; 2191 2225 goto errrel;