summaryrefslogtreecommitdiff
path: root/drivers/ieee1394
AgeCommit message (Collapse)AuthorFilesLines
2007-02-12[PATCH] mark struct file_operations const 3Arjan van de Ven3-3/+3
Many struct file_operations in the kernel can be "const". Marking them const moves these to the .rodata section, which avoids false sharing with potential dirty data. In addition it'll catch accidental writes at compile time to these shared resources. Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-08ieee1394: fix host device registering when nodemgr disabledStefan Richter1-8/+16
Since my commit 8252bbb1363b7fe963a3eb6f8a36da619a6f5a65 in 2.6.20-rc1, host devices have a dummy driver attached. Alas the driver was not registered before use if ieee1394 was loaded with disable_nodemgr=1. This resulted in non-functional FireWire drivers or kernel lockup. http://bugzilla.kernel.org/show_bug.cgi?id=7942 Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-02-08ieee1394: video1394: DMA fixDavid Moore1-0/+8
This together with the phys_to_virt fix in lib/swiotlb.c::swiotlb_sync_sg fixes video1394 DMA on machines with DMA bounce buffers, especially Intel x86-64 machines with > 3GB RAM. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: David Moore <dcm@acm.org> Tested-by: Nicolas Turro <Nicolas.Turro@inrialpes.fr>
2007-02-08ieee1394: raw1394: prevent unloading of low-level driverStefan Richter1-19/+29
Unloading the low-level driver module of a FireWire host can lead to all sorts of trouble if a raw1394 userspace client is using the host. Just disallow it by incrementing the LLD's module reference count on a RAW1394_REQ_SET_CARD write operation. Decrement it when the file is closed. This feature wouldn't be relevant if "modprobe -r video1394" or "modprobe -r dv1394" didn't automatically unload ohci1394 too. http://bugzilla.kernel.org/show_bug.cgi?id=7701 Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: Dan Dennedy <dan@dennedy.org>
2007-02-08ieee1394: dv1394: tidy up card removalStefan Richter1-23/+13
small coding style touch-up and terser coding Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-02-08ieee1394: dv1394: fix CardBus card ejectionStefan Richter1-7/+5
Fix NULL pointer dereference on hot ejection of a FireWire card while dv1394 was loaded. http://bugzilla.kernel.org/show_bug.cgi?id=7121 I did not test card ejection with open /dev/dv1394 files yet. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-02-08ieee1394: sbp2: lower block queue alignment requirementStefan Richter1-2/+0
The old setting is copy & waste from usb-storage and doesn't apply to sbp2. There is only 4-byte alignment required for everything, except for S/G table elements which have to be 8-byte aligned according to the SBP-2 spec. (They happen to be ____cacheline_aligned in our implementation. Whether that's good is another question.) We now simply don't tune block queue alignment at all. The default alignment would surely never become anything else than a multiple of 4, else tons of calls to blk_queue_dma_alignment would have to be added everywhere in drivers/... Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-02-08ieee1394: sbp2: remove bogus "emulated" host flagStefan Richter1-1/+0
There is no emulation going on here. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-02-08ieee1394: save one word in struct hpsb_hostStefan Richter1-2/+2
hpsb_host.config_roms is a bitfield of which only one bit is currently used. hpsb_host.update_config_rom is only a Boolean. Neither one is accessed in hot code paths or with alignment requirements. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-02-08ieee1394: restore config ROM when resumingStefan Richter4-9/+12
After PM suspend + resume, the local configuration ROM was not restored. This prevented remote nodes from recognizing the resuming machine. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-02-08ieee1394: ohci1394: drop pcmcia-cs compatibility codeStefan Richter1-7/+2
#ifdef PCMCIA is only true if compiled inside pcmcia-cs, isn't it? Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-02-08ieee1394: nodemgr: check info_length in ROM header earlierStefan Richter1-3/+6
The whole ROM area which is covered by the crc_length field of the ROM header was fetched before the info_length field was checked for correct general ROM format. This might be wasteful or even dangerous with nodes with minimal ROM, nonstandard ROM, or corrupt ROM. Perform this check at the earliest opportunity. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-02-08the scheduled IEEE1394_OUI_DB removalAdrian Bunk7-7137/+0
This patch contains the scheduled IEEE1394_OUI_DB removal. Signed-off-by: Adrian Bunk <bunk@stusta.de> Update: Also remove drivers/ieee1394/.gitignore. Remove now unused struct members in drivers/ieee1394/nodemgr.h. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-02-08the scheduled IEEE1394_EXPORT_FULL_API removalAdrian Bunk2-29/+0
This patch contains the scheduled IEEE1394_EXPORT_FULL_API removal. Signed-off-by: Adrian Bunk <bunk@stusta.de> Update: Pull proper portion of feature-removal-schedule.txt. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-02-08ieee1394: sbp2: use a better wildcard for blacklistStefan Richter1-12/+8
0x000000 could be a valid value to match against, but anything bigger than 0xffffff cannot. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-02-08Add PCI class ID for firewire OHCI controllers.Kristian Høgsberg1-3/+1
Pull this define out of drivers/ieee1394/ohci1394.c and rename to match other PCI class defines. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-02-08ieee1394: modified csr1212_key_id_type_map to support lisightAndrea Guzzo1-3/+3
This patch applies a little change in csr1212.c to fix iSight (firewire digital camera) related issues (but maybe other firewire devices could also need such modification) The actual implementation of the "csr1212_key_id_type_map" table doesn't support some node types used by the iSight for the audio unit. This limit makes the csr scanning routine to never see the audio unit node , and consequently the iSight driver probe() routine to be never called and there is no way to hook an isight device when it is inserted. Signed-off-by: Andrea Guzzo <xant@xant.net> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2007-01-10ieee1394: sbp2: fix probing of some DVD-ROM/RWsStefan Richter1-0/+2
Since commit 98e238cd42be6c0852da519303cf0182690f8d9f in Linux 2.6.19, "ieee1394: sbp2: don't prefer MODE SENSE 10", some FireWire DVD-ROMs and DVD-RWs were mistaken as CD-ROM because sr_mod now sent MODE SENSE 6. The MMC command set includes only MODE SENSE 10. http://bugzilla.kernel.org/show_bug.cgi?id=7800 This fix lets sbp2 switch scsi_device.use_10_for_rw on for MMC LUs. This should rather be done in the command set driver sr_mod, not in the sbp2 transport driver, and an according patch will follow for a next Linux release. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-30ieee1394: sbp2: fix bogus dma mappingStefan Richter1-33/+40
Need to use a PCI device, not a FireWire host device. Problem found by Andreas Schwab, mistake pointed out by Benjamin Herrenschmidt. http://ozlabs.org/pipermail/linuxppc-dev/2006-December/029595.html Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Tested-by: Andreas Schwab <schwab@suse.de>
2006-12-30ieee1394: sbp2: pass REQUEST_SENSE through to the targetStefan Richter1-10/+0
Delete some incorrect code, left over from the initial driver submission in March 2001. SBP-2 targets should provide sense data via the SBP-2 status block (autosense). We have to pass the REQUEST_SENSE command through to targets which don't implement autosense, if there are any, and to accomodate application clients which use this command. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-10i2c: Discard the i2c algo del_bus wrappersJean Delvare1-1/+1
They are all only calling i2c_del_adapter, so we may as well do it directly. Signed-off-by: Jean Delvare <khali@linux-fr.org>
2006-12-08[PATCH] struct path: convert ieee1394Josef Sipek1-1/+1
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-07ieee1394: sbp2: code formatting around work_struct stuffStefan Richter1-7/+9
Merge is finished, can bring the code in readable style again. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: nodemgr: remove a kcallocStefan Richter1-46/+20
Was I sleepwalking when I wrote this? Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: conditionally export ieee1394_bus_typeStefan Richter1-0/+1
Follow-up to patch "Consolidate driver registering": Since I plan the lifetime of Linux 2.6.20 to be the deprecation phase of CONFIG_IEEE1394_EXPORT_FULL_API, it seems fair to keep all previously exported symbols available with this option until this phase is over. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: Consolidate driver registeringBen Collins8-27/+22
This patch consolidates some bookkeeping for driver registering. It closely models what pci_register_driver() does. The main addition is that the owner of the driver is set, so we get a proper symlink for /sys/bus/ieee1394/driver/*/module. Also moves setting of name and bus type into nodemgr. Because of this, we can remove the EXPORT_SYMBOL for ieee1394_bus_type, since it's now only used in ieee1394.ko. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: sbp2: convert from PCI DMA to generic DMAStefan Richter3-68/+62
API conversion without change in functionality Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: nodemgr: spaces to tabsStefan Richter1-49/+49
whitespace pedantry Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: nodemgr: fix deadlock in shutdownStefan Richter1-3/+18
If "modprobe ohci1394" was quickly followed by "modprobe -r ohci1394", say with 1 second pause in between, the modprobe -r got stuck in uninterruptible sleep in kthread_stop. At the same time the knodemgrd slept uninterruptibly in bus_rescan_devices_helper. That's because driver_detach took the semaphore of the PCI device and bus_rescan_devices_helper wanted to take the semaphore of the FireWire host device's parent, which is the same semaphore. This was a regression since Linux 2.6.16, commit bf74ad5bc41727d5f2f1c6bedb2c1fac394de731, "Hold the device's parent's lock during probe and remove". The fix (or workaround) adds a dummy driver to the hpsb_host device. Now bus_rescan_devices_helper won't scan the host device anymore. This doesn't hurt since we have no drivers which will bind to these devices and it is unlikely that there will ever be such a driver. The dummy driver is befittingly presented as a representation of ieee1394 itself. Fixes: http://bugzilla.kernel.org/show_bug.cgi?id=6706 Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: nodemgr: remove duplicate assignmentStefan Richter1-1/+1
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07sbp2: make 1bit bitfield unsignedLuca Tettamanti1-1/+1
A signed single-bit bitfield doesn't make much sense. Make it unsigned. Signed-off-by: Luca Tettamanti <kronos.it@gmail.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: schedule *_oui sysfs attributes for removalStefan Richter1-1/+1
There is no manpower available to reform oui.db into a library for use in more kernel subsystems. The low ratio of usefulness to size and the occasional need to update oui.db from IEEE's official list suggest to drop oui.db. I plan to make a userspace script available which translates the remaining numeric sysfs attributes to names of organizations. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: schedule unused symbol exports for removalStefan Richter1-7/+2
This also means that former parts of ieee1394's API will be subject to change or removal. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: dv1394: schedule for feature removalStefan Richter2-9/+8
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: raw1394: defer feature removal of old isoch interfaceStefan Richter1-0/+17
Known to be affected: - libdc1394: prefers video1394 for now, old-style raw1394 support might be dropped eventually - OpenH323 PWLib, AVC video input module: uses libraw1394's old API Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: ohci1394: call PMac code in shutdown only for proper machinesStefan Richter1-1/+1
There has been an if(...) missing, for ages. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: ohci1394: reformat PPC_PMAC platform codeStefan Richter1-20/+14
Adjust whitespace and line lengths Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: ohci1394: add PPC_PMAC platform code to driver probeStefan Richter1-4/+15
Fixes http://bugzilla.kernel.org/show_bug.cgi?id=7431 iBook G3 threw a machine check exception and put the display backlight to full brightness after ohci1394 was unloaded and reloaded. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: sbp2: wrap two functions into oneStefan Richter1-23/+7
Move the body of a function into its only caller. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: sbp2: update comment on things to doStefan Richter1-7/+19
Some people actually look at those comments. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: sbp2: use list_move_tail()Stefan Richter1-2/+1
It's OK to reorder list_del() and sbp2util_free_command_dma() here. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: sbp2: more concise names for types and variablesStefan Richter2-598/+575
"struct scsi_id_instance_data" represents a logical unit. Rename it to "struct sbp2_lu", and "scsi_id" to "lu". Rename some other variables too. Wrap almost all lines after at most 80 columns. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: sbp2: remove unused struct membersStefan Richter2-25/+4
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: sbp2: proper unit in module parameter descriptionStefan Richter1-1/+2
It's 2^20 bit/s, not 0.001 bit. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: sbp2: clean up sbp2_ namespaceStefan Richter2-133/+132
Prepend sbp2*_ to anything globally defined in sbp2.c except for some macros. Strip sbp2_ from names of struct members. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: sbp2: some conditions in queue_command are unlikelyStefan Richter1-5/+5
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: sbp2: remove superfluous commentsStefan Richter2-355/+109
And update and reformat remaining comments. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: sbp2: delayed_work -> work_structStefan Richter2-16/+12
This work is not delayed. Also bring the code format in a state which reduces my work to merge pending sbp2 patchs. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: sbp2: coding style of some macrosStefan Richter1-77/+78
Adjust parentheses, indentation, line lengths. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-12-07ieee1394: sbp2: remove debug macrosStefan Richter1-280/+20
No need to keep them in released sources. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>