android_kernel_xiaomi_sm8350/include/linux
Rene Herman a5117ba7da [PATCH] Driver model: add ISA bus
During the recent "isa drivers using platform devices" discussion it was
pointed out that (ALSA) ISA drivers ran into the problem of not having
the option to fail driver load (device registration rather) upon not
finding their hardware due to a probe() error not being passed up
through the driver model. In the course of that, I suggested a seperate
ISA bus might be best; Russell King agreed and suggested this bus could
use the .match() method for the actual device discovery.

The attached does this. For this old non (generically) discoverable ISA
hardware only the driver itself can do discovery so as a difference with
the platform_bus, this isa_bus also distributes match() up to the driver.

As another difference: these devices only exist in the driver model due
to the driver creating them because it might want to drive them, meaning
that all device creation has been made internal as well.

The usage model this provides is nice, and has been acked from the ALSA
side by Takashi Iwai and Jaroslav Kysela. The ALSA driver module_init's
now (for oldisa-only drivers) become:

static int __init alsa_card_foo_init(void)
{
	return isa_register_driver(&snd_foo_isa_driver, SNDRV_CARDS);
}

static void __exit alsa_card_foo_exit(void)
{
	isa_unregister_driver(&snd_foo_isa_driver);
}

Quite like the other bus models therefore. This removes a lot of
duplicated init code from the ALSA ISA drivers.

The passed in isa_driver struct is the regular driver struct embedding a
struct device_driver, the normal probe/remove/shutdown/suspend/resume
callbacks, and as indicated that .match callback.

The "SNDRV_CARDS" you see being passed in is a "unsigned int ndev"
parameter, indicating how many devices to create and call our methods with.

The platform_driver callbacks are called with a platform_device param;
the isa_driver callbacks are being called with a "struct device *dev,
unsigned int id" pair directly -- with the device creation completely
internal to the bus it's much cleaner to not leak isa_dev's by passing
them in at all. The id is the only thing we ever want other then the
struct device * anyways, and it makes for nicer code in the callbacks as
well.

With this additional .match() callback ISA drivers have all options. If
ALSA would want to keep the old non-load behaviour, it could stick all
of the old .probe in .match, which would only keep them registered after
everything was found to be present and accounted for. If it wanted the
behaviour of always loading as it inadvertently did for a bit after the
changeover to platform devices, it could just not provide a .match() and
do everything in .probe() as before.

If it, as Takashi Iwai already suggested earlier as a way of following
the model from saner buses more closely, wants to load when a later bind
could conceivably succeed, it could use .match() for the prerequisites
(such as checking the user wants the card enabled and that port/irq/dma
values have been passed in) and .probe() for everything else. This is
the nicest model.

To the code...

This exports only two functions; isa_{,un}register_driver().

isa_register_driver() register's the struct device_driver, and then
loops over the passed in ndev creating devices and registering them.
This causes the bus match method to be called for them, which is:

int isa_bus_match(struct device *dev, struct device_driver *driver)
{
          struct isa_driver *isa_driver = to_isa_driver(driver);

          if (dev->platform_data == isa_driver) {
                  if (!isa_driver->match ||
                          isa_driver->match(dev, to_isa_dev(dev)->id))
                          return 1;
                  dev->platform_data = NULL;
          }
          return 0;
}

The first thing this does is check if this device is in fact one of this
driver's devices by seeing if the device's platform_data pointer is set
to this driver. Platform devices compare strings, but we don't need to
do that with everything being internal, so isa_register_driver() abuses
dev->platform_data as a isa_driver pointer which we can then check here.
I believe platform_data is available for this, but if rather not, moving
the isa_driver pointer to the private struct isa_dev is ofcourse fine as
well.

Then, if the the driver did not provide a .match, it matches. If it did,
the driver match() method is called to determine a match.

If it did _not_ match, dev->platform_data is reset to indicate this to
isa_register_driver which can then unregister the device again.

If during all this, there's any error, or no devices matched at all
everything is backed out again and the error, or -ENODEV, is returned.

isa_unregister_driver() just unregisters the matched devices and the
driver itself.

More global points/questions...

- I'm introducing include/linux/isa.h. It was available but is ofcourse
a somewhat generic name. Moving more isa stuff over to it in time is
ofcourse fine, so can I have it please? :)

- I'm using device_initcall() and added the isa.o (dependent on
CONFIG_ISA) after the base driver model things in the Makefile. Will
this do, or I really need to stick it in drivers/base/init.c, inside
#ifdef CONFIG_ISA? It's working fine.

Lastly -- I also looked, a bit, into integrating with PnP. "Old ISA"
could be another pnp_protocol, but this does not seem to be a good
match, largely due to the same reason platform_devices weren't -- the
devices do not have a life of their own outside the driver, meaning the
pnp_protocol {get,set}_resources callbacks would need to callback into
driver -- which again means you first need to _have_ that driver. Even
if there's clean way around that, you only end up inventing fake but
valid-form PnP IDs and generally catering to the PnP layer without any
practical advantages over this very simple isa_bus. The thing I also
suggested earlier about the user echoing values into /sys to set up the
hardware from userspace first is... well, cute, but a horrible idea from
a user standpoint.

Comments ofcourse appreciated. Hope it's okay. As said, the usage model
is nice at least.

Signed-off-by: Rene Herman <rene.herman@keyaccess.nl>
2006-06-21 12:40:49 -07:00
..
amba Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
byteorder
dvb Merge branch 'origin' 2006-03-21 08:52:18 -08:00
hdlc
isdn Remove gratuitous inclusion of <linux/pci.h> from linux/isdn/tpam.h 2006-04-25 14:16:14 +01:00
lockd Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
mmc [ARM] 3531/1: i.MX/MX1 SD/MMC ensure, that clock are stopped before new command and cleanups 2006-05-19 21:48:03 +01:00
mtd Merge git://git.infradead.org/hdrcleanup-2.6 2006-06-20 15:10:08 -07:00
netfilter Merge git://git.infradead.org/hdrcleanup-2.6 2006-06-20 15:10:08 -07:00
netfilter_arp [NETFILTER]: futher {ip,ip6,arp}_tables unification 2006-03-22 13:56:56 -08:00
netfilter_bridge
netfilter_ipv4 Merge git://git.infradead.org/hdrcleanup-2.6 2006-06-20 15:10:08 -07:00
netfilter_ipv6 [NETFILTER]: x_tables: unify IPv4/IPv6 multiport match 2006-04-01 02:22:54 -08:00
nfsd Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
raid [PATCH] md: make sure 64bit fields in version-1 metadata are 64-bit aligned 2006-04-11 06:18:30 -07:00
spi [PATCH] SPI: busnum == 0 needs to work 2006-05-16 14:33:57 -07:00
sunrpc Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
tc_act
tc_ematch
usb [PATCH] USB: linux/usb/net2280.h common definitions 2006-04-14 11:12:25 -07:00
8250_pci.h
a.out.h
ac97_codec.h
acct.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
acpi.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
adb.h [PATCH] Notifier chain update: API changes 2006-03-27 08:44:50 -08:00
adfs_fs_i.h
adfs_fs_sb.h
adfs_fs.h
affs_fs.h
affs_hardblocks.h Include <linux/types.h> and use __uXX types in <linux/affs_hardblocks.h> 2006-05-04 15:49:24 +01:00
agp_backend.h
agpgart.h Don't include agp_backend.h in user-visible part of agpgart.h 2006-04-25 13:58:23 +01:00
aio_abi.h
aio.h
amifd.h
amifdreg.h
amigaffs.h
apm_bios.h
arcdevice.h
arcfb.h
ata.h [PATCH] libata: Add the useful macros/constants needed for merging PATA stuff 2006-03-21 21:21:31 -05:00
atalk.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_suni.h
atm_tcp.h
atm_zatm.h
atm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h
audit.h Merge branch 'audit.b21' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current 2006-06-20 15:37:56 -07:00
auto_fs4.h [PATCH] autofs4: add new packet type for v5 communications 2006-03-27 08:44:40 -08:00
auto_fs.h
auxvec.h
awe_voice.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h [PATCH] backlight: Backlight Class Improvements 2006-03-31 12:19:00 -08:00
baycom.h
bcd.h
bfs_fs.h
binfmts.h
bio.h
bit_spinlock.h
bitmap.h [PATCH] bitmap: region cleanup 2006-03-24 07:33:20 -08:00
bitops.h [PATCH] bitops: remove unused generic bitops in include/linux/bitops.h 2006-03-26 08:57:15 -08:00
blkdev.h Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2006-06-21 11:18:25 -07:00
blkpg.h linux/blkpg.h needs <linux/compiler.h> for __user 2006-04-27 16:46:56 +01:00
blktrace_api.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
blockgroup_lock.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
bootmem.h [PATCH] x86_64: Handle empty PXMs that only contain hotplug memory 2006-04-09 11:53:16 -07:00
bpqether.h
buffer_head.h [PATCH] pass b_size to ->get_block() 2006-03-26 08:57:01 -08:00
cache.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
calc64.h
capability.h [PATCH] refactor capable() to one implementation, add __capable() helper 2006-03-25 08:22:56 -08:00
capi.h
cciss_ioctl.h
cd1400.h
cdev.h [PATCH] mark f_ops const in the inode 2006-03-28 09:16:05 -08:00
cdk.h
cdrom.h [PATCH] kill cdrom ->dev_ioctl method 2006-03-23 07:38:09 -08:00
chio.h
circ_buf.h
clk.h include/linux/clk.h is betraying its ARM origins 2006-03-25 18:15:24 +00:00
cm4000_cs.h
cn_proc.h
cobalt-nvram.h
coda_cache.h
coda_fs_i.h
coda_linux.h [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
coda_proc.h
coda_psdev.h
coda.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
coff.h
com20020.h
compat_ioctl.h [PATCH] dm store geometry 2006-03-27 08:44:59 -08:00
compat.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
compiler-gcc3.h
compiler-gcc4.h
compiler-gcc.h
compiler-intel.h
compiler.h Restore __attribute_const__ to user-visibility in linux/compiler.h...for now 2006-05-04 00:41:02 +01:00
completion.h
comstats.h
concap.h
config.h
configfs.h
connector.h
console_struct.h
console.h Add support for suspending and resuming the whole console subsystem 2006-06-19 18:16:01 -07:00
consolemap.h
cpu.h [PATCH] Check if cpu can be onlined before calling smp_prepare_cpu() 2006-03-25 08:23:01 -08:00
cpufreq.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
cpumask.h [PATCH] for_each_possible_cpu: defines for_each_possible_cpu 2006-03-28 09:16:04 -08:00
cpuset.h [PATCH] cpuset memory spread basic implementation 2006-03-24 07:33:22 -08:00
cramfs_fs_sb.h
cramfs_fs.h Include <linux/types.h> and use __uXX types in <linux/cramfs_fs.h> 2006-05-04 17:50:04 +01:00
crash_dump.h [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
crc16.h
crc32.h
crc32c.h
crc-ccitt.h
crypto.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
cryptohash.h
ctype.h
cuda.h
cyclades.h
cyclomx.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
cycx_cfm.h
cycx_drv.h
cycx_x25.h
dcache.h [PATCH] dcache: Add helper d_hash_and_lookup 2006-03-31 12:19:00 -08:00
dccp.h [DCCP] minisock: Rename struct dccp_options to struct dccp_minisock 2006-03-20 22:50:58 -08:00
dcookies.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
debugfs.h [PATCH] Fix OCFS2 warning when DEBUG_FS is not enabled 2006-04-27 13:08:56 -07:00
delay.h
devfs_fs_kernel.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
devfs_fs.h
device-mapper.h [PATCH] dm: make sure QUEUE_FLAG_CLUSTER is set properly 2006-03-27 08:44:59 -08:00
device.h [PATCH] Driver Core: Make dev_info and friends print the bus name if there is no driver 2006-06-21 12:40:49 -07:00
devpts_fs.h
dio.h [PATCH] hp300: fix driver_register() return handling, remove dio_module_init() 2006-03-25 08:22:53 -08:00
dirent.h
divert.h Use __uXX types in <linux/divert.h> for struct divert_blk et al. 2006-05-04 15:07:59 +01:00
dm9000.h
dm-ioctl.h [PATCH] dm store geometry 2006-03-27 08:44:59 -08:00
dma-mapping.h dl2k: use DMA_48BIT_MASK constant 2006-05-10 14:04:22 -07:00
dmaengine.h [I/OAT]: Utility functions for offloading sk_buff to iovec copies 2006-06-17 21:25:46 -07:00
dmapool.h
dmi.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
dn.h [DECnet]: Endian annotation and fixes for DECnet. 2006-03-20 22:42:39 -08:00
dnotify.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
ds1286.h
ds1742rtc.h
ds17287rtc.h
dtlk.h
edd.h
efi.h [PATCH] EFI: keep physical table addresses in efi structure 2006-03-26 08:56:54 -08:00
efs_dir.h
efs_fs_i.h
efs_fs_sb.h
efs_fs.h [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
efs_vh.h
eisa.h
elevator.h [PATCH] elevator switching race 2006-06-08 15:14:23 -07:00
elf-em.h Sanitise linux/audit.h for userspace consumption, split elf-em.h from elf.h 2006-04-27 00:11:01 +01:00
elf-fdpic.h
elf.h Sanitise linux/audit.h for userspace consumption, split elf-em.h from elf.h 2006-04-27 00:11:01 +01:00
elfcore.h
err.h
errno.h
errqueue.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
etherdevice.h
ethtool.h Sanitise ethtool.h and mii.h for userspace. 2006-04-29 01:53:47 +01:00
eventpoll.h [PATCH] get_empty_filp tweaks, inline epoll_init_file() 2006-03-23 07:38:17 -08:00
ext2_fs_sb.h
ext2_fs.h Don't include private headers from user-visible part of linux/ext2_fs.h 2006-04-25 15:18:31 +01:00
ext3_fs_i.h [PATCH] convert ext3's truncate_sem to a mutex 2006-03-23 07:38:14 -08:00
ext3_fs_sb.h
ext3_fs.h Remove private struct dx_hash_info from public view in <linux/ext3_fs.h> 2006-05-04 17:28:26 +01:00
ext3_jbd.h
fadvise.h [PATCH] sys_sync_file_range() 2006-03-31 12:18:54 -08:00
fb.h [PATCH] fbcon: Fix big-endian bogosity in slow_imageblit() 2006-03-31 12:19:00 -08:00
fcdevice.h
fcntl.h
fd1772.h
fd.h
fddidevice.h
fdreg.h
file.h [PATCH] Shrinks sizeof(files_struct) and better layout 2006-03-23 07:38:09 -08:00
filter.h
firmware.h [PATCH] drivers/base/firmware_class.c: cleanups 2006-05-21 12:59:19 -07:00
flat.h
font.h
fs_enet_pd.h
fs_struct.h
fs_uart_pd.h [PATCH] ppc32 CPM_UART: fixes and improvements 2006-05-03 23:06:44 +10:00
fs.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-05-24 09:22:21 +01:00
fsl_devices.h [PATCH] spi: add spi master driver for Freescale MPC83xx SPI controller 2006-05-21 12:59:19 -07:00
fsnotify.h [PATCH] log more info for directory entry change events 2006-06-20 05:25:28 -04:00
ftape-header-segment.h
ftape-vendors.h
ftape.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
fuse.h
futex.h [PATCH] lightweight robust futexes updates 2 2006-03-27 08:44:50 -08:00
gameport.h Use __KERNEL__ to hide kernel-private bits of linux/gameport.h 2006-04-25 13:59:30 +01:00
gen_stats.h
genalloc.h
generic_serial.h Export only the appropriate GS_xxx flags to userspace from generic_serial.h 2006-04-25 14:07:02 +01:00
genetlink.h
genhd.h Include various private files only from within __KERNEL__ in genhd.h 2006-04-25 14:07:57 +01:00
gfp.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
gigaset_dev.h [PATCH] isdn4linux: Siemens Gigaset drivers - tty interface 2006-03-26 08:57:05 -08:00
hardirq.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
harrier_defs.h
hash.h
hayesesp.h
hdlc.h
hdlcdrv.h
hdpu_features.h
hdreg.h
hdsmart.h
hiddev.h
highmem.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
highuid.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
hil_mlc.h
hil.h
hippidevice.h
hp_sdc.h
hpet.h [PATCH] hpet header sanitization 2006-03-26 08:56:56 -08:00
hpfs_fs.h
hrtimer.h [RBTREE] Update hrtimers to use rb_parent() accessor macro. 2006-04-22 02:38:50 +01:00
hugetlb.h [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
hwmon-sysfs.h [PATCH] hwmon: Refactor SENSOR_DEVICE_ATTR_2 2006-03-23 14:21:50 -08:00
hwmon-vid.h
hwmon.h
hysdn_if.h
i2c-algo-bit.h
i2c-algo-ite.h Sanitise linux/i2c-algo-ite.h for userspace consumption 2006-04-25 14:10:40 +01:00
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-algo-sgi.h
i2c-algo-sibyte.h
i2c-dev.h
i2c-id.h [PATCH] RTC subsystem: I2C driver ids 2006-03-27 08:44:51 -08:00
i2c-isa.h
i2c-pxa.h
i2c.h Sanitise linux/i2c.h for userspace consumption 2006-04-25 14:14:52 +01:00
i2o-dev.h Use __uXX types in <linux/i2o_dev.h>, include <linux/ioctl.h> too 2006-05-04 17:32:44 +01:00
i2o.h [PATCH] I2O: Bugfixes to get I2O working again 2006-06-10 11:02:05 -07:00
i8k.h
ibmtr.h
icmp.h
icmpv6.h
ide.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
idr.h
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h
if_cablemodem.h
if_ec.h
if_eql.h
if_ether.h
if_fc.h
if_fddi.h Remove struct fddi_statistics from user view in <linux/if_fddi.h> 2006-05-16 23:25:37 +01:00
if_frad.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
if_hippi.h
if_infiniband.h
if_ltalk.h
if_packet.h
if_plip.h
if_ppp.h
if_pppox.h
if_shaper.h
if_slip.h
if_strip.h
if_tr.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
if_tun.h
if_tunnel.h
if_vlan.h
if_wanpipe_common.h
if_wanpipe.h
if.h [NET] core: add RFC2863 operstate 2006-03-20 17:09:11 -08:00
igmp.h [IPV4] igmp: Fixup struct ip_mc_list::multiaddr type 2006-06-17 21:29:37 -07:00
in6.h
in_route.h
in.h [SECURITY]: TCP/UDP getpeersec 2006-03-20 22:41:23 -08:00
inet_diag.h
inet.h
inetdevice.h [IPV4] ARP: Alloc acceptance of unsolicited ARP via netdevice sysctl. 2006-03-20 22:39:47 -08:00
init_task.h [PATCH] pidhash: don't use zero pids 2006-03-28 18:36:41 -08:00
init.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
initrd.h
inotify.h [PATCH] inotify (4/5): allow watch removal from event handler 2006-06-20 05:25:19 -04:00
input.h Merge git://git.infradead.org/hdrcleanup-2.6 2006-06-20 15:10:08 -07:00
interrupt.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
io.h [PATCH] add __iowrite64_copy 2006-06-20 20:24:58 -07:00
ioc3.h
ioc4.h
ioctl32.h
ioctl.h
ioport.h
ioprio.h
ip6_tunnel.h
ip_mp_alg.h
ip.h
ipc.h
ipmi_msgdefs.h [PATCH] ipmi: add full sysfs support 2006-03-26 08:56:56 -08:00
ipmi_smi.h [PATCH] IPMI: fix startup race condition 2006-03-31 12:18:54 -08:00
ipmi.h Don't include <linux/device.h> from user-visible part of linux/ipmi.h 2006-04-25 14:15:44 +01:00
ipsec.h
ipv6_route.h [IPV6]: ROUTE: Add experimental support for Route Information Option in RA (RFC4191). 2006-03-20 17:06:24 -08:00
ipv6.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
ipx.h
irda.h [IRDA]: TOIM3232 dongle support 2006-03-20 22:21:10 -08:00
irq_cpustat.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
irq.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
isa.h [PATCH] Driver model: add ISA bus 2006-06-21 12:40:49 -07:00
isapnp.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
isdn_divertif.h
isdn_ppp.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
isdn.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
isdnif.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
isicom.h
iso_fs.h
istallion.h
ite_gpio.h
ixjuser.h
jbd.h [PATCH] Make address_space_operations->invalidatepage return void 2006-03-26 08:56:55 -08:00
jffs2.h Merge git://git.infradead.org/jffs2-xattr-2.6 2006-05-20 17:27:32 +01:00
jffs.h
jhash.h
jiffies.h [PATCH] x86_64: Fix drift with HPET timer enabled 2006-04-09 11:53:53 -07:00
journal-head.h
joystick.h Switch to __s32 types in joystick.h instead of C99 types for consistency. 2006-06-03 00:27:53 +01:00
kallsyms.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
kbd_diacr.h
kbd_kern.h Input: add support for Braille devices 2006-04-02 00:10:28 -05:00
kd.h
kdev_t.h
kernel_stat.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
kernel.h [PATCH] symbol_put_addr() locks kernel 2006-05-15 11:20:55 -07:00
kernelcapi.h
kexec.h
key-ui.h
key.h
keyboard.h Input: add support for Braille devices 2006-04-02 00:10:28 -05:00
keyctl.h
kfifo.h
klist.h
kmalloc_sizes.h
kmod.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
kobj_map.h
kobject.h [PATCH] Driver Core: Add /sys/hypervisor when needed 2006-06-21 12:40:48 -07:00
kprobes.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
kref.h
kthread.h
ktime.h [PATCH] hrtimers: remove DEFINE_KTIME and ktime_to_clock_t() 2006-03-26 08:57:03 -08:00
lapb.h
lcd.h
leds.h [PATCH] leds: re-layout include/linux/leds.h 2006-04-11 06:18:41 -07:00
libata.h [PATCH] move ->eh_strategy_handler to the transport class 2006-04-10 14:15:47 -04:00
libps2.h
limits.h
linkage.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
linux_logo.h
list.h [NET]: use hlist_unhashed() 2006-04-29 18:33:15 -07:00
llc.h
loop.h [PATCH] sem2mutex: drivers/block/loop.c 2006-03-23 07:38:12 -08:00
lp.h
m48t86.h [PATCH] m48t86: ia64 build fix 2006-06-05 12:29:17 -07:00
major.h [PATCH] parport: move PP_MAJOR from ppdev.h to major.h 2006-03-25 08:22:53 -08:00
matroxfb.h
mbcache.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
memory_hotplug.h [PATCH] memory_hotplug.h cleanup 2006-04-20 07:54:04 -07:00
memory.h [PATCH] Notifier chain update: API changes 2006-03-27 08:44:50 -08:00
mempolicy.h Merge git://git.infradead.org/hdrcleanup-2.6 2006-06-20 15:10:08 -07:00
mempool.h [PATCH] mempool: add mempool_create_slab_pool() 2006-03-26 08:57:00 -08:00
meye.h
migrate.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
mii.h Sanitise ethtool.h and mii.h for userspace. 2006-04-29 01:53:47 +01:00
minix_fs.h
miscdevice.h [PATCH] mark f_ops const in the inode 2006-03-28 09:16:05 -08:00
mm_inline.h [PATCH] mm: less atomic ops 2006-03-22 07:53:57 -08:00
mm.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
mman.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
mmtimer.h
mmzone.h Merge git://git.infradead.org/hdrcleanup-2.6 2006-06-20 15:10:08 -07:00
mod_devicetable.h Input: move input_device_id to mod_devicetable.h 2006-04-26 00:14:19 -04:00
module.h Merge git://git.infradead.org/hdrcleanup-2.6 2006-06-20 15:10:08 -07:00
moduleloader.h
moduleparam.h [PATCH] kernel/params.c: make param_array() static 2006-03-25 08:22:52 -08:00
mount.h
mpage.h
mqueue.h
mroute.h
msdos_fs.h [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
msg.h Don't include <linux/list.h> from user-visible part of linux/msg.h 2006-04-25 14:26:46 +01:00
mtio.h
mutex-debug.h
mutex.h
mv643xx.h [MIPS] MV6434x: The name of the CPP symbol is __mips__, not __MIPS__. 2006-04-19 04:14:19 +02:00
n_r3964.h
namei.h [PATCH] fs/namei.c: make lookup_hash() static 2006-03-31 12:19:01 -08:00
namespace.h
nbd.h Use __uXX types in user-visible structures in <linux/nbd.h> 2006-05-04 02:55:50 +01:00
ncp_fs_i.h [PATCH] sem2mutex: NCPFS 2006-03-23 07:38:14 -08:00
ncp_fs_sb.h [PATCH] sem2mutex: NCPFS 2006-03-23 07:38:14 -08:00
ncp_fs.h Don't include private files from user-visible part of linux/ncp_fs.h 2006-04-25 14:26:26 +01:00
ncp_mount.h
ncp_no.h
ncp.h
net.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
netdevice.h Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2006-06-20 17:39:53 -07:00
netfilter_arp.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
netfilter_bridge.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
netfilter_decnet.h
netfilter_ipv4.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
netfilter_ipv6.h [NETFILTER]: Add address family specific checksum helpers 2006-04-09 22:25:41 -07:00
netfilter_logging.h
netfilter.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
netlink.h [PATCH] Reworked patch for labels on user space messages 2006-05-01 06:09:58 -04:00
netpoll.h
netrom.h
nfs2.h
nfs3.h
nfs4_acl.h
nfs4_mount.h
nfs4.h Don't include private headers from user-visible parts of include/linux/nfs*.h 2006-04-25 14:51:45 +01:00
nfs_fs_i.h
nfs_fs_sb.h
nfs_fs.h Don't include private headers from user-visible parts of include/linux/nfs*.h 2006-04-25 14:51:45 +01:00
nfs_idmap.h
nfs_mount.h
nfs_page.h
nfs_xdr.h
nfs.h Don't include private headers from user-visible parts of include/linux/nfs*.h 2006-04-25 14:51:45 +01:00
nfsacl.h
nfsd_idmap.h
nls.h
nmi.h
node.h
nodemask.h [PATCH] define for_each_online_pgdat 2006-03-27 08:44:47 -08:00
notifier.h [PATCH] Notifier chain update: API changes 2006-03-27 08:44:50 -08:00
nubus.h
numa.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
nvram.h
openprom_fs.h
oprofile.h [PATCH] mark f_ops const in the inode 2006-03-28 09:16:05 -08:00
page-flags.h [PATCH] page flags: add commentry regarding field reservation 2006-04-11 06:18:32 -07:00
pagemap.h [PATCH] Add find_get_pages_contig(): contiguous variant of find_get_pages() 2006-04-27 08:59:48 +02:00
pagevec.h
param.h
parport_pc.h
parport.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
parser.h
patchkey.h
pci_ids.h Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2006-06-19 18:55:56 -07:00
pci_regs.h
pci-acpi.h [PATCH] PCI: fix pciehp compile issue when CONFIG_ACPI is not enabled 2006-06-11 14:02:27 -07:00
pci.h Merge git://git.infradead.org/hdrcleanup-2.6 2006-06-20 15:10:08 -07:00
pcieport_if.h
percpu_counter.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
percpu.h
personality.h
pfkeyv2.h [PFKEYV2]: Fix inconsistent typing in struct sadb_x_kmprivate. 2006-06-17 22:54:03 -07:00
pfn.h [PATCH] unify PFN_* macros 2006-03-27 08:44:48 -08:00
pg.h
phonedev.h
phy.h
pid.h [PATCH] pidhash: Refactor the pid hash table 2006-03-31 12:19:00 -08:00
pipe_fs_i.h [PATCH] splice: LRU fixups 2006-05-04 06:55:12 +02:00
pkt_cls.h
pkt_sched.h
pktcdvd.h
platform_device.h
pm_legacy.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
pm.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
pmu.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
pnp.h
pnpbios.h
poll.h [PATCH] Optimize select/poll by putting small data sets on the stack 2006-03-28 09:16:04 -08:00
posix_acl_xattr.h
posix_acl.h
posix_types.h
posix-timers.h
ppdev.h [PATCH] parport: move PP_MAJOR from ppdev.h to major.h 2006-03-25 08:22:53 -08:00
ppp_channel.h
ppp_defs.h Remove PPP_FCS from user view in <linux/ppp_defs.h>, remove __P mess entirely 2006-05-04 12:07:37 +01:00
ppp-comp.h
prctl.h
preempt.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
prefetch.h
prio_tree.h
proc_fs.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
profile.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
ps2esdi.h
ptrace.h
qic117.h
qnx4_fs.h [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
qnxtypes.h
quota.h Don't include private headers from user-visible parts of linux/quota.h 2006-04-25 14:52:13 +01:00
quotaio_v1.h
quotaio_v2.h
quotaops.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
radeonfb.h
radix-tree.h [PATCH] radix-tree documentation cleanups 2006-03-25 08:22:59 -08:00
raid_class.h
ramfs.h [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
random.h
raw.h
rbtree.h [RBTREE] Switch rb_colour() et al to en_US spelling of 'color' for consistency 2006-06-05 20:19:05 +01:00
rcupdate.h [PATCH] RCU: introduce rcu_needs_cpu() interface 2006-05-15 11:20:55 -07:00
reboot_fixups.h
reboot.h
reiserfs_acl.h
reiserfs_fs_i.h
reiserfs_fs_sb.h
reiserfs_fs.h [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
reiserfs_xattr.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
relay.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
resource.h
rio_drv.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
rio_ids.h
rio_regs.h
rio.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
rmap.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
romfs_fs.h
root_dev.h
rose.h
route.h
rslib.h
rtc.h [PATCH] RTC subsystem: class 2006-03-27 08:44:51 -08:00
rtnetlink.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
rwsem-spinlock.h
rwsem.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
sc26198.h
scatterlist.h
scc.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
sched.h Merge branch 'audit.b21' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current 2006-06-20 15:37:56 -07:00
screen_info.h [PATCH] vesafb: Fix incorrect logo colors in x86_64 2006-04-11 06:18:54 -07:00
sctp.h
scx200_gpio.h
scx200.h
sdla_fr.h
sdla.h
seccomp.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
securebits.h
security.h [NET]: Fix warnings after LSM-IPSEC changes. 2006-06-17 21:29:49 -07:00
selection.h
selinux_netlink.h
selinux.h [SECMARK]: Add SELinux exports 2006-06-17 21:29:55 -07:00
sem.h Don't include <asm/atomic.h> from user-visible part of linux/sem.h 2006-04-25 14:55:13 +01:00
seq_file.h [PATCH] sem2mutex: fs/seq_file.c 2006-03-23 07:38:12 -08:00
seqlock.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
serial167.h
serial_8250.h [ARM] 3383/3: ixp2000: ixdp2x01 platform serial conversion 2006-03-25 23:03:13 +00:00
serial_core.h Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2006-06-20 17:52:36 -07:00
serial_ip3106.h
serial_reg.h
serial.h
serialP.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
serio.h Manual merge with Linus. 2006-04-02 00:08:05 -05:00
shm.h
shmem_fs.h
signal.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-04-29 01:42:26 +01:00
skbuff.h Merge git://git.infradead.org/hdrcleanup-2.6 2006-06-20 15:10:08 -07:00
slab.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-05-24 09:22:21 +01:00
smb_fs_i.h
smb_fs_sb.h
smb_fs.h Don't include private headers from user-visible part of linux/smb_fs.h 2006-04-25 15:18:05 +01:00
smb_mount.h
smb.h
smbno.h
smp_lock.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
smp.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
snmp.h
socket.h Don't include <linux/config.h> and <linux/linkage.h> from linux/socket.h 2006-04-25 15:29:01 +01:00
sockios.h
som.h
sonet.h
sonypi.h
sort.h
sound.h [PATCH] mark f_ops const in the inode 2006-03-28 09:16:05 -08:00
soundcard.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types_up.h
spinlock_types.h
spinlock_up.h
spinlock.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
stallion.h
stat.h [PATCH] 2TB files: st_blocks is invalid when calling stat64 2006-03-26 08:57:00 -08:00
statfs.h [PATCH] 2TB files: change type of kstatfs entries 2006-03-26 08:57:00 -08:00
stddef.h
stop_machine.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
string.h [PATCH] Clean up arch-overrides in linux/string.h 2006-04-11 06:18:40 -07:00
stringify.h
superhyway.h
suspend.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
swap.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-05-24 09:22:21 +01:00
swapops.h
synclink.h [PATCH] synclink_gt add gpio feature 2006-03-28 09:16:02 -08:00
sys.h
syscalls.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-05-24 09:22:21 +01:00
sysctl.h [TCP]: Add tcp_slow_start_after_idle sysctl. 2006-06-17 21:30:53 -07:00
sysdev.h [PATCH] Driver Core: Allow sysdev_class have attributes 2006-06-21 12:40:48 -07:00
sysfs.h [PATCH] sysfs: Allow sysfs attribute files to be pollable 2006-04-14 11:41:24 -07:00
sysrq.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
sysv_fs.h
tcp.h Merge git://git.infradead.org/hdrcleanup-2.6 2006-06-20 15:10:08 -07:00
telephony.h
termios.h
textsearch_fsm.h
textsearch.h
tfrc.h
thread_info.h
threads.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
ticable.h
time.h [PATCH] hrtimers: remove nsec_t typedef 2006-03-26 08:57:03 -08:00
timer.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
times.h
timex.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
tiocl.h [PATCH] vt: add TIOCL_GETKMSGREDIRECT 2006-03-31 12:18:56 -08:00
tipc_config.h
tipc.h
topology.h [PATCH] sched: new sched domain for representing multi-core 2006-03-27 08:44:43 -08:00
toshiba.h
transport_class.h
trdevice.h
tty_driver.h
tty_flip.h [PATCH] make tty_insert_flip_string_flags() a non gpl export 2006-04-11 06:18:41 -07:00
tty_ldisc.h
tty.h [PATCH] TTY: return class device pointer from tty_register_device() 2006-06-21 12:40:47 -07:00
types.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
udf_fs_i.h [PATCH] udf: remove duplicate definitions 2006-03-25 08:23:01 -08:00
udf_fs_sb.h [PATCH] sem2mutex: UDF 2006-03-23 07:38:14 -08:00
udf_fs.h
udp.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
ufs_fs_i.h
ufs_fs_sb.h
ufs_fs.h Remove unneeded inclusion of <linux/time.h> from <linux/ufs_fs.h> 2006-05-04 00:59:14 +01:00
uinput.h
uio.h
ultrasound.h
umem.h
un.h
unistd.h Remove 'extern int errno;' from public view in linux/unistd.h 2006-04-29 01:49:06 +01:00
usb_cdc.h
usb_ch9.h
usb_gadget.h
usb_gadgetfs.h
usb_input.h
usb_isp116x.h
usb_otg.h
usb_sl811.h
usb_usual.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
usb.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
usbdevice_fs.h Don't export CONFIG_COMPAT stuff in linux/usbdevice_fs.h to userspace 2006-04-25 15:14:50 +01:00
user.h
utime.h
uts.h
utsname.h
vermagic.h [PATCH] module support: record in vermagic ability to unload a module 2006-04-11 06:18:45 -07:00
vfs.h
via.h
video_decoder.h
video_encoder.h
videodev2.h V4L/DVB (3774): Create V4L1 config options 2006-05-12 19:54:53 -03:00
videodev.h
videotext.h
vmalloc.h
vt_buffer.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
vt_kern.h Merge git://git.infradead.org/hdrcleanup-2.6 2006-06-20 15:10:08 -07:00
vt.h
wait.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
wanrouter.h Don't include <linux/spinlock.h> from user-visible part of linux/wanrouter.h 2006-04-25 15:00:56 +01:00
watchdog.h
wavefront.h
wireless.h [PATCH] WE-20 for kernel 2.6.16 2006-03-23 07:12:57 -05:00
workqueue.h
writeback.h [PATCH] balance_dirty_pages_ratelimited: take nr_pages arg 2006-03-24 07:33:26 -08:00
x25.h [X25]: allow ITU-T DTE facilities for x25 2006-03-22 00:01:31 -08:00
xattr.h
xfrm.h [IPSEC] xfrm: Abstract out encapsulation modes 2006-06-17 21:28:39 -07:00
yam.h
zconf.h
zftape.h
zlib.h
zorro_ids.h
zorro.h [PATCH] amiga: fix driver_register() return handling, remove zorro_module_init() 2006-03-25 08:22:53 -08:00
zutil.h