aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
Commit message (Expand)AuthorAge
* dvb: Kill directly reference of netdev->privWang Chen2008-12-04
* Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/ne...David S. Miller2008-12-02
|\
| * em28xx: remove backward compat macro added on a previous fixMauro Carvalho Chehab2008-12-01
| * V4L/DVB (9748): em28xx: fix compile warningHans Verkuil2008-12-01
| * V4L/DVB (9743): em28xx: fix oops audioDouglas Schilling Landgraf2008-12-01
| * V4L/DVB (9742): em28xx-alsa: implement another locking schemaMauro Carvalho Chehab2008-11-24
| * V4L/DVB (9732): sms1xxx: use new firmware for Hauppauge WinTV MiniStickMichael Krufky2008-11-24
| * V4L/DVB (9691): gspca: Move the video device to a separate area.Jean-Francois Moine2008-11-24
| * V4L/DVB (9690): gspca: Lock the subdrivers via module_get/put.Jean-Francois Moine2008-11-24
| * V4L/DVB (9689): gspca: Memory leak when disconnect while streaming.Jean-Francois Moine2008-11-24
| * V4L/DVB (9668): em28xx: fix a race condition with haldMauro Carvalho Chehab2008-11-20
| * V4L/DVB (9664): af9015: don't reconnect device in USB-busJose Alberto Reguero2008-11-20
| * V4L/DVB (9647): em28xx: void having two concurrent control URB'sMauro Carvalho Chehab2008-11-20
| * V4L/DVB (9646): em28xx: avoid allocating/dealocating memory on every control urbMauro Carvalho Chehab2008-11-20
| * V4L/DVB (9645): em28xx: Avoid memory leaks if registration failsMauro Carvalho Chehab2008-11-20
| * V4L/DVB (9639): Make dib0700 remote control support work with firmware v1.20Devin Heitmueller2008-11-16
| * V4L/DVB (9635): v4l: s2255drv fix firmware test on big-endianHarvey Harrison2008-11-16
| * V4L/DVB (9634): Make sure the i2c gate is open before powering down tunerDevin Heitmueller2008-11-16
| * V4L/DVB (9632): make em28xx aux audio input workDevin Heitmueller2008-11-16
| * V4L/DVB (9631): Make s2api work for ATSC supportDevin Heitmueller2008-11-16
| * V4L/DVB (9627): em28xx: Avoid i2c register error for boards without eepromMauro Carvalho Chehab2008-11-16
| * V4L/DVB (9608): Fix section mismatch warning for dm1105 during makeIgor M. Liplianin2008-11-16
| * V4L/DVB (9605): usb-urb: fix memory leakDouglas Schilling Landgraf2008-11-16
| * V4L/DVB (9604): ttusb_dec: fix memory leakDouglas Schilling Landgraf2008-11-16
| * V4L/DVB (9603): dvb-ttusb-budget: Add validation for ttusb_alloc_iso_urbsDouglas Schilling Landgraf2008-11-16
| * V4L/DVB (9602): dvb-ttusb-budget: Add NULL pointer validationDouglas Schilling Landgraf2008-11-16
| * V4L/DVB (9601): ttusb_dec: Add NULL pointer validationDouglas Schilling Landgraf2008-11-16
* | Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/ne...David S. Miller2008-11-19
|\|
| * V4L/DVB (9624): CVE-2008-5033: fix OOPS on tvaudio when controlling bass/trebleMauro Carvalho Chehab2008-11-14
| * V4L/DVB (9623): tvaudio: Improve debug msg by printing something more humanMauro Carvalho Chehab2008-11-14
| * V4L/DVB (9622): tvaudio: Improve comments and remove a unneeded prototypeMauro Carvalho Chehab2008-11-14
| * V4L/DVB (9621): Avoid writing outside shadow.bytes[] arrayMauro Carvalho Chehab2008-11-14
| * V4L/DVB (9620): tvaudio: use a direct reference for chip descriptionMauro Carvalho Chehab2008-11-14
| * V4L/DVB (9619): tvaudio: update initial commentsMauro Carvalho Chehab2008-11-14
| * V4L/DVB (9618): tvaudio: add additional logic to avoid OOPSMauro Carvalho Chehab2008-11-14
| * V4L/DVB (9617): tvtime: remove generic_checkmode callbackMauro Carvalho Chehab2008-11-14
| * V4L/DVB (9616): tvaudio: cleanup - group all callbacks togetherMauro Carvalho Chehab2008-11-14
| * V4L/DVB (9615): tvaudio: instead of using a magic number, use ARRAY_SIZEMauro Carvalho Chehab2008-11-14
| * V4L/DVB (9613): tvaudio: fix a memory leakMauro Carvalho Chehab2008-11-14
* | Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/ne...David S. Miller2008-11-11
|\|
| * V4L/DVB (9516): cx18: Move DVB buffer transfer handling from irq handler to w...Andy Walls2008-11-11
| * V4L/DVB (9557): gspca: Small changes for the sensor HV7131B in zc3xx.Jean-Francois Moine2008-11-11
| * V4L/DVB (9556): gspca: Bad init sequence for sensor HV7131B in zc3xx.Jean-Francois Moine2008-11-11
| * V4L/DVB (9549): gspca: Fix a typo in one of gspca chips name.Krzysztof Helt2008-11-11
| * V4L/DVB (9515): cx18: Use correct Mailbox IRQ Ack values and misc IRQ handlin...Andy Walls2008-11-11
| * V4L/DVB (9493): kconfig patchFrederic CAND2008-11-11
| * V4L/DVB (9527): af9015: fix compile warningsAntti Palosaari2008-11-11
| * V4L/DVB (9524): af9013: fix bug in status readingroel kluin2008-11-11
| * V4L/DVB (9511): cx18: Mark CX18_CPU_DE_RELEASE_MDL as a slow API callAndy Walls2008-11-11
| * V4L/DVB (9510): cx18: Fix write retries for registers that always change - pa...Andy Walls2008-11-11
*/ #define FMC_GPIO_USER(x) ((x) + 0x1400) /* 256 of them */ Use of virtual GPIO numbers (anything but FMC_GPIO_RAW) is allowed provided the carrier_name field in the data structure is left unspecified (NULL). Each carrier is responsible for providing a mapping between virtual and physical GPIO numbers. The carrier may then use the _gpio field to cache the result of this mapping. All carriers must map their I/O lines to the sets above starting from zero. The SPEC, for example, maps interrupt pins 0 and 1, and test points 0 through 3 (even if the test points on the PCB are called 5,6,7,8). If, for example, a driver requires a free LED and a test point (for a scope probe to be plugged at some point during development) it may ask for FMC_GPIO_LED(0) and FMC_GPIO_TP(0). Each carrier will provide suitable GPIO pins. Clearly, the person running the drivers will know the order used by the specific carrier driver in assigning leds and testpoints, so to make a carrier-dependent use of the diagnostic tools. In theory, some form of autodetection should be possible: a driver like the wr-nic (which uses IRQ(1) on the SPEC card) should configure IRQ(0), make a test with software-generated interrupts and configure IRQ(1) if the test fails. This probing step should be used because even if the wr-nic gateware is known to use IRQ1 on the SPEC, the driver should be carrier-independent and thus use IRQ(0) as a first bet - actually, the knowledge that IRQ0 may fail is carrier-dependent information, but using it doesn't make the driver unsuitable for other carriers. The return value of gpio_config is defined as follows: * If no pin in the array can be used by the carrier, `-ENODEV'. * If at least one virtual GPIO number cannot be mapped, `-ENOENT'. * On success, 0 or positive. The value returned is the number of high input bits (if no input is configured, the value for success is 0). While I admit the procedure is not completely straightforward, it allows configuration, input and output with a single carrier operation. Given the typical use case of FMC devices, GPIO operations are not expected to ever by in hot paths, and GPIO access so fare has only been used to configure the interrupt pin, mode and polarity. Especially reading inputs is not expected to be common. If your device has GPIO capabilities in the hot path, you should consider using the kernel's GPIO mechanisms.