aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [SCSI] blacklist REPORT LUNS usage on transtec arraysJames Bottomley2005-09-131-0/+1
| | | | | | | They report being SCSI-3 but seem to give back rubbish to a REPORT_LUNS command. Force them to be sequentially scanned. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* Linux 2.6.14-rc1Linus Torvalds2005-09-121-2/+2
| | | | Two weeks after 2.6.13: starting to calm things down.
* [PATCH] m68knommu: optimized local_irq_disable, and platform reboot codeGreg Ungerer2005-09-121-6/+48
| | | | | | | | | | | | Switch to a space optimized version of local_irq_disable() for ColdFire platforms. Also add reboot support for the Freescale M5272 platform. Patch originally submitted by Philippe De Muyter <phdm@macqel.be>. Add reboot support for the Freescale M523x ColdFire platform. Patch originally submitted by Jate Sujjavanich. Signed-off-by: Greg Ungerer <gerg@uclinux.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] m68knommu: startup code for the Drangen Engine 68328 based boardGreg Ungerer2005-09-121-0/+135
| | | | | | | | | Specialized startup code for the 68328 based DragenEngine board. It doesn't easily fit into the common 68x328 startup code framework. It doesn't want any of the common hardware setup to be done here. Signed-off-by: Greg Ungerer <gerg@uclinux.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] m68knommu: implement scatter/gather support macrosGreg Ungerer2005-09-121-0/+6
| | | | | | | | Implement the scattergather support macros for m68knommu targets. Patch originally submitted by Leon Woestenberg <leonw@mailcan.com>. Signed-off-by: Greg Ungerer <gerg@uclinux.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] m68knommu: fix cache actions for ColdFire 5249, 527x and 528x processorsGreg Ungerer2005-09-121-14/+15
| | | | | | | | | | Add better support for flushing the cache's on some ColdFire processors. The 5249 cache code is now enabled (it was stubbed out), it really is needed. Add support for the 527x and 528x families - we only use the simple instruction cache on them. Signed-off-by: Greg Ungerer <gerg@uclinux.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-for-linus-2.6 Linus Torvalds2005-09-1222-146/+1648
|\
| * [SCSI] scsi: Error handler description documentTejun Heo2005-09-102-0/+481
| | | | | | | | | | | | | | | | | | This patch adds Documentation/scsi/scs_eh.txt. I've chosen plain text over DocBook as most other scsi docs are in plain text and it's more accessible. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] set error value when failing commands in prep_fnMike Christie2005-09-101-8/+16
| | | | | | | | | | | | | | | | | | set DID_NO_CONNECT for the BLKPREP_KILL case and correct a few BLKPREP_DEFER cases that weren't checking for the need to plug the queue. Signed-Off-By: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] Alter the scsi_add_device() API to conform to what users expectJames Bottomley2005-09-103-6/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original API returned either an ERR_PTR() or a refcounted sdev. Unfortunately, if it's successful, you need to do a scsi_device_put() on the sdev otherwise the refcounting is wrong. Everyone seems to expect that scsi_add_device() should be callable without doing the ref put, so alter the API so it is (we still have __scsi_add_device with the original behaviour). The only actual caller that needs altering is the one in firewire ... not because it gets this right, but because it acts on the error if one is returned. Acked-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] Fix module removal/device add raceAlan Stern2005-09-101-2/+6
| | | | | | | | | | | | | | | | | | This patch (as546) fixes an oops-causing failure to check the return code from scsi_device_get. The call can return an error if the LLD is being unloaded from memory. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] lpfc: use wwn_to_u64() transport helperAndrew Vasquez2005-09-104-28/+25
| | | | | | | | | | | | Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Acked-by: Smart, James <James.Smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] qla2xxx: use wwn_to_u64() transport helperAndrew Vasquez2005-09-102-12/+10
| | | | | | | | | | Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] fc_transport: Generalize WWN to u64 interger conversions.Andrew Vasquez2005-09-101-0/+8
| | | | | | | | | | | | | | | | | | | | | | On some platforms the hard-casting of 8 byte node_name and port_name arrays to an u64 would cause unaligned-access warnings. Generalize the conversions with a transport helper function which performs consistent shifting of WWN bytes. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] SAS transport class: fixup prototype of sas_host_setupJames Bottomley2005-09-091-1/+2
| | | | | | | | Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] 3ware 9000: handle use_sg != 0 for emulated commandsadam radford2005-09-091-6/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The attached patch updates the driver for the 3ware 9000 series to do the following: - Correctly handle single sgl's with use_sg = 1. This is needed with the latest scsi-block-2.6 merge otherwise the 3w-9xxx driver will not work. I tested the patch James sent a few weeks back to fix this, and it had a bug where the request_buffer was accessed in twa_scsiop_execute_scsi_complete() when it was invalid. This is a corrected variation of that patch. Signed-off-by: Adam Radford <linuxraid@amcc.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] SAS transport classChristoph Hellwig2005-09-094-0/+927
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SAS transport class contains common code to deal with SAS HBAs, an aproximated representation of SAS topologies in the driver model, and various sysfs attributes to expose these topologies and managment interfaces to userspace. In addition to the basic SCSI core objects this transport class introduces two additional intermediate objects: The SAS PHY as represented by struct sas_phy defines an "outgoing" PHY on a SAS HBA or Expander, and the SAS remote PHY represented by struct sas_rphy defines an "incoming" PHY on a SAS Expander or end device. Note that this is purely a software concept, the underlying hardware for a PHY and a remote PHY is the exactly the same. There is no concept of a SAS port in this code, users can see what PHYs form a wide port based on the port_identifier attribute, which is the same for all PHYs in a port. This submission doesn't handle hot-plug addition or removal of SAS devices and thus doesn't do scanning in a workqueue yet, that will be added in phase2 after this submission. In a third phase I will add additional managment infrastructure. I think this submission is ready for 2.6.14, but additional comments are of course very welcome. I'd like to thanks James Smart a lot for his very useful input on the design. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] permit READ DEFECT DATA in block/scsi_ioctlDouglas Gilbert2005-09-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The soon to be released smartmontools 5.34 uses the READ DEFECT DATA command on SCSI disks. A disk that has defect list entries (or worse, an increasing number of them) is at risk. Currently the first invocation of smartctl causes this: scsi: unknown opcode 0x37 message to appear the console and in the log. The READ DEFECT DATA SCSI command does not change the state of a disk. Its opcode (0x37) is valid for SBC devices (e.g. disks) and SMC-2 devices (media changers) where it is called INITIALIZE STATUS ELEMENT WITH RANGE and again doesn't change the external state of the device. Changelog: - mark SCSI opcode 0x37 (READ DEFECT DATA) as safe_for_read Signed-off-by: Douglas Gilbert <dougg@torque.net> Acked-by: Jens Axboe <axboe@suse.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] sg: do not set VM_IO flag on mmap-ed pagesDouglas Gilbert2005-09-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Further to the problem discussed in this post: http://marc.theaimsgroup.com/?l=linux-scsi&m=112540053711489&w=2 It seems that the sg driver does not need to set the VM_IO flag on pages that it memory maps to the user space since they are not from the IO space. Ahmed Teirelbar <ahmed.teirelbar@adic.com> wants the facility and has tested this patch as I have without adverse effects. The oops protection is still important. Some users really did try and use dio transfers from the sg driver to memory mapped IO space (on a video capture card if my memory serves) during the lk 2.4 series. I'm not sure how successful it was but that will now be politely refused in lk 2.6.13+ . Changelog: - set the page flags for sg's reserved buffer mmap-ed to the user space to VM_RESERVED (rather than VM_RESERVED | VM_IO ) Signed-off-by: Douglas Gilbert <dougg@torque.net> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] SCSI core: fix leakage of scsi_cmnd'sJames Bottomley2005-09-091-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | Actually, just one problem and one cosmetic fix: 1) We need to dequeue for the loop and kill case (it seems easiest simply to dequeue in the scsi_kill_request() routine) 2) There's no real need to drop the queue lock. __scsi_done() is lock agnostic, so since there's no requirement, let's just leave it in to avoid any locking issues. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] SCSI core: fix leakage of scsi_cmnd'sJames Bottomley2005-09-091-40/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From: Alan Stern <stern@rowland.harvard.edu> This patch (as559b) adds a new routine, scsi_unprep_request, which gets called every place a request is requeued. (That includes scsi_queue_insert as well as scsi_requeue_command.) It also changes scsi_kill_requests to make it call __scsi_done with result equal to DID_NO_CONNECT << 16. (I'm not sure if it's necessary to call scsi_init_cmd_errh here; maybe you can check on that.) Finally, the patch changes the return value from scsi_end_request, to avoid returning a stale pointer in the case where the request was requeued. Fortunately the return value is used in only place, and the change actually simplified it. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Rejections fixed up and Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] fix possible deadlock in scsi_lib.cNeil Brown2005-09-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a filesystem, while writing out data, decides that it is good to issue a cache flush on a SCSI drive (or other 'sd' device), it will call blkdev_issue_flush which calls ->issue_flush_fn which is scsi_issue_flush_fn. This calls sd_issue_flush which calls sd_sync_cache, which calls scsi_execute_request. This will (as sshdr != NULL) call kmalloc(SCSI_SENSE_BUFFERSIZE, GFP_KERNEL) If memory is tight, the presence of GFP_KERNEL may cause write requests to be sent to some filesystem to free up memory, however if that filesystem is waiting for the issue_flush_fn to complete, you could get a deadlock. I wonder if it might be more appropriate to use GFP_NOIO as in the following patch. I wonder if it might be even more appropriate to cope better with a kmalloc failure, especially as in this use, sd_sync_cache only will use the sense information to print out a more informative error message. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] fix callers of scsi_remove_device() who already hold the scan mutedAlan Stern2005-09-092-13/+16
| | | | | | | | | | | | | | | | | | This patch (as544) adds a private entry point to scsi_remove_device, for use when callers already own the scan_mutex. The appropriate callers are modified to use the new entry point. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] add missing scan mutex to scsi_scan_target()Alan Stern2005-09-091-27/+40
| | | | | | | | | | | | | | | | | | | | | | | | This patch (as543) adds a private entry point to scsi_scan_target, for use when the caller already owns the scan_mutex, and updates the kerneldoc for that routine (which was badly out-of-date). It converts scsi_scan_channel to use the new entry point. Lastly, it modifies scsi_get_host_dev to make it acquire the scan_mutex, necessary since the routine adds a new scsi_device even if it doesn't do any actual scanning. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* | Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 Linus Torvalds2005-09-1211-26/+38
|\ \
| * | [SPARC] drivers/sbus: fix-up schedule_timeout() usageNishanth Aravamudan2005-09-122-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use schedule_timeout_uninterruptible() instead of set_current_state()/schedule_timeout() to reduce kernel size. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | [SPARC]: Fix dot-symbol exporting for good.Al Viro2005-09-119-22/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From: Al Viro <viro@ZenIV.linux.org.uk> Instead of playing all of these hand-coded assembler aliasing games, just translate symbol names in the name space ".sym" to "_Sym" at module load time. Signed-off-by: David S. Miller <davem@davemloft.net>
* | | Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Linus Torvalds2005-09-1237-180/+1359
|\ \ \
| * | | [BNX2]: Add support for ETHTOOL_GPERMADDR.John W. Linville2005-09-121-0/+2
| | | | | | | | | | | | | | | | | | | | Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [TG3]: Add support for ETHTOOL_GPERMADDR.John W. Linville2005-09-121-0/+4
| | | | | | | | | | | | | | | | | | | | Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [TG3]: Do not count non-error frames dropped by the hardware as rx_errors.John W. Linville2005-09-121-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead, count them as part of rx_missed_errors. Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [NETROM]: Introduct stuct nr_privateRalf Baechle2005-09-123-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NET/ROM's virtual interfaces don't have a proper private data structure yet. Create struct nr_private and put the statistics there. Signed-off-by: Ralf Baechle DL5RB <ralf@linux-mips.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [NETROM]: Implement G8PZT Circuit reset for NET/ROMRalf Baechle2005-09-126-16/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NET/ROM is lacking a connection reset like TCP's RST flag which at times may result in a connecting having to slowly timing out instead of just being reset. An earlier attempt to reset the connection by sending a NR_CONNACK | NR_CHOKE_FLAG transport was inacceptable as it did result in crashes of BPQ systems. An alternative approach of introducing a new transport type 7 (NR_RESET) has be implemented several years ago in Paula Jayne Dowie G8PZT's Xrouter. Implement NR_RESET for Linux's NET/ROM but like any messing with the state engine consider this experimental for now and thus control it by a sysctl (net.netrom.reset) which for the time being defaults to off. Signed-off-by: Ralf Baechle DL5RB <ralf@linux-mips.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [ROSE]: ROSE has no ARPRalf Baechle2005-09-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ARP over ROSE does not exist so it's obviously not implemented on any ROSE stack, so the ROSE interfaces really should default to IFF_NOARP. Signed-off-by: Ralf Baechle DL5RB <ralf@linux-mips.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [NETROM]: NET/ROM has no ARPRalf Baechle2005-09-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ARP over NET/ROM does not exist so it's obviously not implemented on any NET/ROM stack, so the NET/ROM interfaces really should default to IFF_NOARP. Signed-off-by: Ralf Baechle DL5RB <ralf@linux-mips.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [NETROM] NET/ROM has no txqueueRalf Baechle2005-09-121-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | NET/ROM uses virtual interfaces so setting a queue length is wrong. Signed-off-by: Ralf Baechle DL5RB <ralf@linux-mips.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [AX.25]: Reformat ax25_proto_ops initializationRalf Baechle2005-09-121-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Reformat iniitalization of ax25_proto_ops. Signed-off-by: Ralf Baechle DL5RB <ralf@linux-mips.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [AX.25/ROSE]: Whitespace formatting changesRalf Baechle2005-09-122-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Small formatting changes. Signed-off-by: Ralf Baechle DL5RB <ralf@linux-mips.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [AX.25]: Add descriptions to constantsRalf Baechle2005-09-121-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Comment the names used for the AX.25 state machine. Signed-off-by: Ralf Baechle DL5RB <ralf@linux-mips.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [NETROM/AX.25/ROSE]: Remove useless testsRalf Baechle2005-09-123-11/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove error tests that have already been performed by the caller. Signed-off-by: Ralf Baechle DL5RB <ralf@linux-mips.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [NETROM]: statistics fixRalf Baechle2005-09-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling an incoming NET/ROM-encapsulated IP packet an error if the interface isn't up is probably a bit over the top, so count it as dropped instead of an error. Signed-off-by: Ralf Baechle DL5RB <ralf@linux-mips.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [AX.25]: Add more PIDsRalf Baechle2005-09-121-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a few more PID definitions. AX.25 PIDs are the equivalent to IP protocol numbers. Signed-off-by: Ralf Baechle DL5RB <ralf@linux-mips.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [NETROM]: Fix rebuild header messRalf Baechle2005-09-121-29/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For reason that probably nobody recalls NET/ROM does it's actual packet transmission in nr_rebuild_header and even treats invocation of it's hard_start_xmit method nr_xmit as a bug. Fix that by splitting the job done by nr_rebuild_header into two halves. Along with that we now also can get rid of the silly clone of the skb on transmit. Signed-off-by: Ralf Baechle DL5RB <ralf@linux-mips.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [AX.25]: Rename ax25_encapsulate to ax25_hard_headerRalf Baechle2005-09-1211-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rename ax25_encapsulate to ax25_hard_header which these days more accurately describes what the function is supposed to do. Signed-off-by: Ralf Baechle DL5RB <ralf@linux-mips.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [HAMRADIO]: driver cleanupsRalf Baechle2005-09-124-50/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Misc related cleanups in hamradio drivers: o Use symbolic constants instead of magic numbers o Don't try to handle the case where AX.25 isn't configured - the kernel configuration doesn't permit that. o Remove useless headers Signed-off-by: Ralf Baechle DL5RB <ralf@linux-mips.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [CCID3]: Listen socks doesn't have a private CCID blockArnaldo Carvalho de Melo2005-09-121-0/+8
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [NET]: fix-up schedule_timeout() usageNishanth Aravamudan2005-09-124-20/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use schedule_timeout_{,un}interruptible() instead of set_current_state()/schedule_timeout() to reduce kernel size. Also use human-time conversion functions instead of hard-coded division to avoid rounding issues. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [NET]: Add netlink connector.Evgeniy Polyakov2005-09-1110-0/+1165
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Kernel connector - new userspace <-> kernel space easy to use communication module which implements easy to use bidirectional message bus using netlink as it's backend. Connector was created to eliminate complex skb handling both in send and receive message bus direction. Connector driver adds possibility to connect various agents using as one of it's backends netlink based network. One must register callback and identifier. When driver receives special netlink message with appropriate identifier, appropriate callback will be called. From the userspace point of view it's quite straightforward: socket(); bind(); send(); recv(); But if kernelspace want to use full power of such connections, driver writer must create special sockets, must know about struct sk_buff handling... Connector allows any kernelspace agents to use netlink based networking for inter-process communication in a significantly easier way: int cn_add_callback(struct cb_id *id, char *name, void (*callback) (void *)); void cn_netlink_send(struct cn_msg *msg, u32 __groups, int gfp_mask); struct cb_id { __u32 idx; __u32 val; }; idx and val are unique identifiers which must be registered in connector.h for in-kernel usage. void (*callback) (void *) - is a callback function which will be called when message with above idx.val will be received by connector core. Using connector completely hides low-level transport layer from it's users. Connector uses new netlink ability to have many groups in one socket. [ Incorporating many cleanups and fixes by myself and Andrew Morton -DaveM ] Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | Merge master.kernel.org:/home/rmk/linux-2.6-arm Linus Torvalds2005-09-123-0/+444
|\ \ \
| * | | [ARM SMP] Add MPCore watchdog driverRussell King2005-09-123-0/+444
| |/ / | | | | | | | | | | | | | | | Add platform independent parts of the ARM MPCore watchdog driver. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>