]> git.hungrycats.org Git - linux/commitdiff
[PATCH] Remove dead i2c bits from media/video
authorAlan Cox <alan@irongate.swansea.linux.org.uk>
Thu, 25 Jul 2002 01:28:41 +0000 (18:28 -0700)
committerLinus Torvalds <torvalds@penguin.transmeta.com>
Thu, 25 Jul 2002 01:28:41 +0000 (18:28 -0700)
drivers/media/video/Config.in
drivers/media/video/Makefile
drivers/media/video/i2c-old.c [deleted file]
drivers/media/video/i2c-parport.c [deleted file]

index 5cead0510ebdeba300b4f0dae5b244a5e10f693f..2e197494ab27f4e2370a77a5575d7adcf4312ef4 100644 (file)
@@ -5,7 +5,6 @@ mainmenu_option next_comment
 comment 'Video For Linux'
 
 bool '  V4L information in proc filesystem' CONFIG_VIDEO_PROC_FS
-dep_tristate '  I2C on parallel port' CONFIG_I2C_PARPORT $CONFIG_PARPORT $CONFIG_I2C
 
 comment 'Video Adapters'
 if [ "$CONFIG_I2C_ALGOBIT" = "y" -o "$CONFIG_I2C_ALGOBIT" = "m" ]; then
index af6fb58f3a4eadc3ca36dd0a78fa5e1b1d82e66c..3adc1179208fbebea4985143ddd13054e009a336 100644 (file)
@@ -5,7 +5,7 @@
 # All of the (potential) objects that export symbols.
 # This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'.
 
-export-objs     :=     i2c-old.o videodev.o bttv-if.o cpia.o video-buf.o
+export-objs     :=     videodev.o bttv-if.o cpia.o video-buf.o
 
 bttv-objs      :=      bttv-driver.o bttv-cards.o bttv-if.o \
                        bttv-risc.o bttv-vbi.o
@@ -13,21 +13,19 @@ zoran-objs      :=  zr36120.o zr36120_i2c.o zr36120_mem.o
 
 obj-$(CONFIG_VIDEO_DEV) += videodev.o
 
-obj-$(CONFIG_BUS_I2C) += i2c-old.o
 obj-$(CONFIG_VIDEO_BT848) += bttv.o msp3400.o tvaudio.o \
        tda7432.o tda9875.o tuner.o video-buf.o
 obj-$(CONFIG_SOUND_TVMIXER) += tvmixer.o
 
 obj-$(CONFIG_VIDEO_ZR36120) += zoran.o
-obj-$(CONFIG_I2C_PARPORT) += i2c-parport.o i2c-old.o
-obj-$(CONFIG_VIDEO_SAA5249) += saa5249.o i2c-old.o
+obj-$(CONFIG_VIDEO_SAA5249) += saa5249.o
 obj-$(CONFIG_VIDEO_CQCAM) += c-qcam.o
 obj-$(CONFIG_VIDEO_BWQCAM) += bw-qcam.o
 obj-$(CONFIG_VIDEO_W9966) += w9966.o
 obj-$(CONFIG_VIDEO_ZORAN_BUZ) += saa7111.o saa7185.o
 obj-$(CONFIG_VIDEO_ZORAN_DC10) += saa7110.o adv7175.o
 obj-$(CONFIG_VIDEO_ZORAN_LML33) += bt819.o bt856.o
-obj-$(CONFIG_VIDEO_ZORAN) += zr36067.o i2c-old.o
+obj-$(CONFIG_VIDEO_ZORAN) += zr36067.o
 obj-$(CONFIG_VIDEO_PMS) += pms.o
 obj-$(CONFIG_VIDEO_PLANB) += planb.o
 obj-$(CONFIG_VIDEO_VINO) += vino.o
diff --git a/drivers/media/video/i2c-old.c b/drivers/media/video/i2c-old.c
deleted file mode 100644 (file)
index bd731be..0000000
+++ /dev/null
@@ -1,450 +0,0 @@
-/*
- *     Generic i2c interface for linux
- *
- *     (c) 1998 Gerd Knorr <kraxel@cs.tu-berlin.de>
- *
- */
-
-#include <linux/config.h>
-#include <linux/module.h>
-#include <linux/kernel.h>
-#include <linux/errno.h>
-#include <linux/types.h>
-#include <linux/string.h>
-#include <linux/delay.h>
-#include <linux/sched.h>
-#include <linux/slab.h>
-#include <linux/i2c-old.h>
-
-#define REGPRINT(x)   if (verbose)   (x)
-#define I2C_DEBUG(x)  if (i2c_debug) (x)
-
-static int scan      = 0;
-static int verbose   = 0;
-static int i2c_debug = 0;
-
-#if LINUX_VERSION_CODE >= 0x020117
-MODULE_PARM(scan,"i");
-MODULE_PARM(verbose,"i");
-MODULE_PARM(i2c_debug,"i");
-#endif
-
-/* ----------------------------------------------------------------------- */
-
-static struct i2c_bus    *busses[I2C_BUS_MAX];
-static struct i2c_driver *drivers[I2C_DRIVER_MAX];
-static int bus_count = 0, driver_count = 0;
-
-#ifdef CONFIG_VIDEO_BUZ
-extern int saa7111_init(void);
-extern int saa7185_init(void);
-#endif
-#ifdef CONFIG_VIDEO_LML33
-extern int bt819_init(void);
-extern int bt856_init(void);
-#endif
-
-int i2c_init(void)
-{
-       printk(KERN_INFO "i2c: initialized%s\n",
-               scan ? " (i2c bus scan enabled)" : "");
-       /* anything to do here ? */
-#ifdef CONFIG_VIDEO_BUZ
-       saa7111_init();
-       saa7185_init();
-#endif
-#ifdef CONFIG_VIDEO_LML33
-       bt819_init();
-       bt856_init();
-#endif
-       return 0;
-}
-
-/* ----------------------------------------------------------------------- */
-
-static void i2c_attach_device(struct i2c_bus *bus, struct i2c_driver *driver)
-{
-       struct i2c_device *device;
-       int i,j,ack=1;
-       unsigned char addr;
-       LOCK_FLAGS;
-    
-       /* probe for device */
-       LOCK_I2C_BUS(bus);
-       for (addr = driver->addr_l; addr <= driver->addr_h; addr += 2) 
-       {
-               i2c_start(bus);
-               ack = i2c_sendbyte(bus,addr,0);
-               i2c_stop(bus);
-               if (!ack)
-                       break;
-       }
-       UNLOCK_I2C_BUS(bus);
-       if (ack)
-               return;
-
-       /* got answer */
-       for (i = 0; i < I2C_DEVICE_MAX; i++)
-               if (NULL == driver->devices[i])
-                       break;
-       if (I2C_DEVICE_MAX == i)
-               return;
-
-       for (j = 0; j < I2C_DEVICE_MAX; j++)
-               if (NULL == bus->devices[j])
-                       break;
-       if (I2C_DEVICE_MAX == j)
-               return;
-
-       if (NULL == (device = kmalloc(sizeof(struct i2c_device),GFP_KERNEL)))
-               return;
-       device->bus = bus;
-       device->driver = driver;
-       device->addr = addr;
-
-       /* Attach */
-       
-       if (driver->attach(device)!=0) 
-       {
-               kfree(device);
-               return;
-       }
-       driver->devices[i] = device;
-       driver->devcount++;
-       bus->devices[j] = device;
-       bus->devcount++;
-
-       if (bus->attach_inform)
-               bus->attach_inform(bus,driver->id);
-       REGPRINT(printk("i2c: device attached: %s (addr=0x%02x, bus=%s, driver=%s)\n",device->name,addr,bus->name,driver->name));
-}
-
-static void i2c_detach_device(struct i2c_device *device)
-{
-       int i;
-
-       if (device->bus->detach_inform)
-               device->bus->detach_inform(device->bus,device->driver->id);
-       device->driver->detach(device);
-
-       for (i = 0; i < I2C_DEVICE_MAX; i++)
-               if (device == device->driver->devices[i])
-                       break;
-       if (I2C_DEVICE_MAX == i) 
-       {
-               printk(KERN_WARNING "i2c: detach_device #1: device not found: %s\n",
-                       device->name);
-               return;
-       }
-       device->driver->devices[i] = NULL;
-       device->driver->devcount--;
-
-       for (i = 0; i < I2C_DEVICE_MAX; i++)
-               if (device == device->bus->devices[i])
-                       break;
-       if (I2C_DEVICE_MAX == i) 
-       {
-               printk(KERN_WARNING "i2c: detach_device #2: device not found: %s\n",
-                      device->name);
-               return;
-       }
-       device->bus->devices[i] = NULL;
-       device->bus->devcount--;
-
-       REGPRINT(printk("i2c: device detached: %s (addr=0x%02x, bus=%s, driver=%s)\n",device->name,device->addr,device->bus->name,device->driver->name));
-       kfree(device);
-}
-
-/* ----------------------------------------------------------------------- */
-
-int i2c_register_bus(struct i2c_bus *bus)
-{
-       int i,ack;
-       LOCK_FLAGS;
-
-       memset(bus->devices,0,sizeof(bus->devices));
-       bus->devcount = 0;
-
-       for (i = 0; i < I2C_BUS_MAX; i++)
-               if (NULL == busses[i])
-                       break;
-       if (I2C_BUS_MAX == i)
-               return -ENOMEM;
-
-       busses[i] = bus;
-       bus_count++;
-       REGPRINT(printk("i2c: bus registered: %s\n",bus->name));
-       
-       MOD_INC_USE_COUNT;
-
-       if (scan) 
-       {
-               /* scan whole i2c bus */
-               LOCK_I2C_BUS(bus);
-               for (i = 0; i < 256; i+=2) 
-               {
-                       i2c_start(bus);
-                       ack = i2c_sendbyte(bus,i,0);
-                       i2c_stop(bus);
-                       if (!ack) 
-                       {
-                               printk(KERN_INFO "i2c: scanning bus %s: found device at addr=0x%02x\n",
-                                       bus->name,i);
-                       }
-               }
-               UNLOCK_I2C_BUS(bus);
-       }
-
-       /* probe available drivers */
-       for (i = 0; i < I2C_DRIVER_MAX; i++)
-               if (drivers[i])
-                       i2c_attach_device(bus,drivers[i]);
-       return 0;
-}
-
-int i2c_unregister_bus(struct i2c_bus *bus)
-{
-       int i;
-
-       /* detach devices */
-       for (i = 0; i < I2C_DEVICE_MAX; i++)
-               if (bus->devices[i])
-                       i2c_detach_device(bus->devices[i]);
-
-       for (i = 0; i < I2C_BUS_MAX; i++)
-               if (bus == busses[i])
-                       break;
-       if (I2C_BUS_MAX == i) 
-       {
-               printk(KERN_WARNING "i2c: unregister_bus #1: bus not found: %s\n",
-                       bus->name);
-               return -ENODEV;
-       }
-       
-       MOD_DEC_USE_COUNT;
-       
-       busses[i] = NULL;
-       bus_count--;
-       REGPRINT(printk("i2c: bus unregistered: %s\n",bus->name));
-
-       return 0;    
-}
-
-/* ----------------------------------------------------------------------- */
-
-int i2c_register_driver(struct i2c_driver *driver)
-{
-       int i;
-
-       memset(driver->devices,0,sizeof(driver->devices));
-       driver->devcount = 0;
-
-       for (i = 0; i < I2C_DRIVER_MAX; i++)
-               if (NULL == drivers[i])
-                       break;
-       if (I2C_DRIVER_MAX == i)
-               return -ENOMEM;
-
-       drivers[i] = driver;
-       driver_count++;
-       
-       MOD_INC_USE_COUNT;
-       
-       REGPRINT(printk("i2c: driver registered: %s\n",driver->name));
-
-       /* Probe available busses */
-       for (i = 0; i < I2C_BUS_MAX; i++)
-               if (busses[i])
-                       i2c_attach_device(busses[i],driver);
-
-       return 0;
-}
-
-int i2c_unregister_driver(struct i2c_driver *driver)
-{
-       int i;
-
-       /* detach devices */
-       for (i = 0; i < I2C_DEVICE_MAX; i++)
-               if (driver->devices[i])
-                       i2c_detach_device(driver->devices[i]);
-
-       for (i = 0; i < I2C_DRIVER_MAX; i++)
-               if (driver == drivers[i])
-                       break;
-       if (I2C_DRIVER_MAX == i) 
-       {
-               printk(KERN_WARNING "i2c: unregister_driver: driver not found: %s\n",
-                       driver->name);
-               return -ENODEV;
-       }
-
-       MOD_DEC_USE_COUNT;
-       
-       drivers[i] = NULL;
-       driver_count--;
-       REGPRINT(printk("i2c: driver unregistered: %s\n",driver->name));
-
-       return 0;
-}
-
-/* ----------------------------------------------------------------------- */
-
-int i2c_control_device(struct i2c_bus *bus, int id,
-                      unsigned int cmd, void *arg)
-{
-       int i;
-
-       for (i = 0; i < I2C_DEVICE_MAX; i++)
-               if (bus->devices[i] && bus->devices[i]->driver->id == id)
-                       break;
-       if (i == I2C_DEVICE_MAX)
-               return -ENODEV;
-       if (NULL == bus->devices[i]->driver->command)
-               return -ENODEV;
-       return bus->devices[i]->driver->command(bus->devices[i],cmd,arg);
-}
-
-/* ----------------------------------------------------------------------- */
-
-#define I2C_SET(bus,ctrl,data)  (bus->i2c_setlines(bus,ctrl,data))
-#define I2C_GET(bus)            (bus->i2c_getdataline(bus))
-
-void i2c_start(struct i2c_bus *bus)
-{
-       I2C_SET(bus,0,1);
-       I2C_SET(bus,1,1);
-       I2C_SET(bus,1,0);
-       I2C_SET(bus,0,0);
-       I2C_DEBUG(printk("%s: < ",bus->name));
-}
-
-void i2c_stop(struct i2c_bus *bus)
-{
-       I2C_SET(bus,0,0);
-       I2C_SET(bus,1,0);
-       I2C_SET(bus,1,1);
-       I2C_DEBUG(printk(">\n"));
-}
-
-void i2c_one(struct i2c_bus *bus)
-{
-       I2C_SET(bus,0,1);
-       I2C_SET(bus,1,1);
-       I2C_SET(bus,0,1);
-}
-
-void i2c_zero(struct i2c_bus *bus)
-{
-       I2C_SET(bus,0,0);
-       I2C_SET(bus,1,0);
-       I2C_SET(bus,0,0);
-}
-
-int i2c_ack(struct i2c_bus *bus)
-{
-       int ack;
-    
-       I2C_SET(bus,0,1);
-       I2C_SET(bus,1,1);
-       ack = I2C_GET(bus);
-       I2C_SET(bus,0,1);
-       return ack;
-}
-
-int i2c_sendbyte(struct i2c_bus *bus,unsigned char data,int wait_for_ack)
-{
-       int i, ack;
-    
-       I2C_SET(bus,0,0);
-       for (i=7; i>=0; i--)
-               (data&(1<<i)) ? i2c_one(bus) : i2c_zero(bus);
-       if (wait_for_ack)
-               udelay(wait_for_ack);
-       ack=i2c_ack(bus);
-       I2C_DEBUG(printk("%02x%c ",(int)data,ack?'-':'+'));
-       return ack;
-}
-
-unsigned char i2c_readbyte(struct i2c_bus *bus,int last)
-{
-       int i;
-       unsigned char data=0;
-    
-       I2C_SET(bus,0,1);
-       for (i=7; i>=0; i--) 
-       {
-               I2C_SET(bus,1,1);
-               if (I2C_GET(bus))
-                       data |= (1<<i);
-               I2C_SET(bus,0,1);
-       }
-       last ? i2c_one(bus) : i2c_zero(bus);
-       I2C_DEBUG(printk("=%02x%c ",(int)data,last?'-':'+'));
-       return data;
-}
-
-/* ----------------------------------------------------------------------- */
-
-int i2c_read(struct i2c_bus *bus, unsigned char addr)
-{
-       int ret;
-    
-       if (bus->i2c_read)
-               return bus->i2c_read(bus, addr);
-
-       i2c_start(bus);
-       i2c_sendbyte(bus,addr,0);
-       ret = i2c_readbyte(bus,1);
-       i2c_stop(bus);
-       return ret;
-}
-
-int i2c_write(struct i2c_bus *bus, unsigned char addr,
-             unsigned char data1, unsigned char data2, int both)
-{
-       int ack;
-
-       if (bus->i2c_write)
-               return bus->i2c_write(bus, addr, data1, data2, both);
-
-       i2c_start(bus);
-       i2c_sendbyte(bus,addr,0);
-       ack = i2c_sendbyte(bus,data1,0);
-       if (both)
-               ack = i2c_sendbyte(bus,data2,0);
-       i2c_stop(bus);
-       return ack ? -1 : 0 ;
-}
-
-/* ----------------------------------------------------------------------- */
-
-#ifdef MODULE
-
-#if LINUX_VERSION_CODE >= 0x020100
-EXPORT_SYMBOL(i2c_register_bus);
-EXPORT_SYMBOL(i2c_unregister_bus);
-EXPORT_SYMBOL(i2c_register_driver);
-EXPORT_SYMBOL(i2c_unregister_driver);
-EXPORT_SYMBOL(i2c_control_device);
-EXPORT_SYMBOL(i2c_start);
-EXPORT_SYMBOL(i2c_stop);
-EXPORT_SYMBOL(i2c_one);
-EXPORT_SYMBOL(i2c_zero);
-EXPORT_SYMBOL(i2c_ack);
-EXPORT_SYMBOL(i2c_sendbyte);
-EXPORT_SYMBOL(i2c_readbyte);
-EXPORT_SYMBOL(i2c_read);
-EXPORT_SYMBOL(i2c_write);
-#endif
-
-int init_module(void)
-{
-       return i2c_init();
-}
-
-void cleanup_module(void)
-{
-}
-#endif
-MODULE_LICENSE("GPL");
diff --git a/drivers/media/video/i2c-parport.c b/drivers/media/video/i2c-parport.c
deleted file mode 100644 (file)
index f0fd64c..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * I2C driver for parallel port
- *
- * Author: Phil Blundell <philb@gnu.org>
- *
- * 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.
- *
- * This driver implements a simple I2C protocol by bit-twiddling some
- * signals on the parallel port.  Since the outputs on the parallel port
- * aren't open collector, three lines rather than two are used:
- *
- *     D0      clock out
- *     D1      data out
- *     BUSY    data in 
- */
-
-#include <linux/parport.h>
-#include <linux/module.h>
-#include <linux/delay.h>
-#include <linux/i2c-old.h>
-#include <linux/init.h>
-#include <linux/spinlock.h>
-
-#define I2C_DELAY   10
-
-static int debug = 0;
-
-struct parport_i2c_bus
-{
-  struct i2c_bus i2c;
-  struct parport_i2c_bus *next;
-};
-
-static struct parport_i2c_bus *bus_list;
-
-static spinlock_t bus_list_lock = SPIN_LOCK_UNLOCKED;
-
-/* software I2C functions */
-
-static void i2c_setlines(struct i2c_bus *bus, int clk, int data)
-{
-  struct parport *p = bus->data;
-  parport_write_data(p, (clk?1:0) | (data?2:0)); 
-  udelay(I2C_DELAY);
-}
-
-static int i2c_getdataline(struct i2c_bus *bus)
-{
-  struct parport *p = bus->data;
-  return (parport_read_status(p) & PARPORT_STATUS_BUSY) ? 0 : 1;
-}
-
-static struct i2c_bus parport_i2c_bus_template = 
-{
-  "...",
-  I2C_BUSID_PARPORT,
-  NULL,
-  
-  SPIN_LOCK_UNLOCKED,
-  
-  NULL,
-  NULL,
-       
-  i2c_setlines,
-  i2c_getdataline,
-  NULL,
-  NULL,
-};
-
-static void i2c_parport_attach(struct parport *port)
-{
-  struct parport_i2c_bus *b = kmalloc(sizeof(struct parport_i2c_bus), 
-                                     GFP_KERNEL);
-  if (!b) {
-         printk(KERN_ERR "i2c_parport: Memory allocation failed. Not attaching.\n");
-         return;
-  }
-  b->i2c = parport_i2c_bus_template;
-  b->i2c.data = parport_get_port (port);
-  strncpy(b->i2c.name, port->name, 32);
-  spin_lock(&bus_list_lock);
-  b->next = bus_list;
-  bus_list = b;
-  spin_unlock(&bus_list_lock);
-  i2c_register_bus(&b->i2c);
-  if (debug)
-    printk(KERN_DEBUG "i2c: attached to %s\n", port->name);
-}
-
-static void i2c_parport_detach(struct parport *port)
-{
-  struct parport_i2c_bus *b, *old_b = NULL;
-  spin_lock(&bus_list_lock);
-  b = bus_list;
-  while (b)
-  {
-    if (b->i2c.data == port)
-    {
-      if (old_b)
-       old_b->next = b->next;
-      else
-       bus_list = b->next;
-      i2c_unregister_bus(&b->i2c);
-      kfree(b);
-      break;
-    }
-    old_b = b;
-    b = b->next;
-  }
-  spin_unlock(&bus_list_lock);
-  if (debug)
-    printk(KERN_DEBUG "i2c: detached from %s\n", port->name);
-}
-
-static struct parport_driver parport_i2c_driver = 
-{
-  "i2c",
-  i2c_parport_attach,
-  i2c_parport_detach
-};
-
-#ifdef MODULE
-int init_module(void)
-#else
-int __init i2c_parport_init(void)
-#endif
-{
-  printk("I2C: driver for parallel port v0.1 philb@gnu.org\n");
-  parport_register_driver(&parport_i2c_driver);
-  return 0;
-}
-
-#ifdef MODULE
-MODULE_PARM(debug, "i");
-
-void cleanup_module(void)
-{
-  struct parport_i2c_bus *b = bus_list;
-  while (b)
-  {
-    struct parport_i2c_bus *next = b->next;
-    i2c_unregister_bus(&b->i2c);
-    kfree(b);
-    b = next;
-  }
-  parport_unregister_driver(&parport_i2c_driver);
-}
-#endif
-MODULE_LICENSE("GPL");