remove implicit slab.h inclusion from percpu.h
Subsystems (128)
Tejun Heo
maintainerHello,
Lee Schermerhorn was trying to use percpu from slab.h and ran into a dependency loop. percpu.h was using slab.h for UP inline implementation which isn't a big deal in itself but it turns out that percpu.h ends up being included everywhere via module.h and sched.h. So, removing that implicit inclusion breaks a lot of files.
The following git tree contains trial conversion on x86_64. allmodconfig builds fine on it but a lot of other archs are likely to break although fixing them up shouldn't be too hard.
git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu.git review-remove-implied-slab-inclusion
This can be solved much easier by moving some of the stuff that's necessary for slab.h from percpu.h into percpu-defs.h which originally got separated so that it can be used by asm/percpu.h but it's hackish and for longer term, it would be better to have slab.h explicitly included where necessary.
So, what do you guys think? Probably-the-right-thing-to-do >544 file patch or somewhat-ugly-but-let's-worry-about-it-tommorrow two file patch?
I omitted the patch itself as it's mind numbingly boring and long.
Thanks.
Patch description and diffstat follows. Patch content omitted.
===============================================================
Quoted 1 line
From
b0bcd3a0e6a49077a2e7b073831fbae9e8f87b4bMon Sep 17 00:00:00 2001
From: Tejun Heo <[email protected]>
Date: Thu, 11 Mar 2010 23:27:38 +0900
Subject: [PATCH] percpu: break implied slab.h inclusing via percpu.h
percpu.h has always been including slab.h to get k[mz]alloc/free() for UP inline implementation. percpu.h being used by very low level headers including module.h and sched.h, this meant that a lot files unintentionally got slab.h inclusion.
Lee Schermerhorn was trying to make slab.h use percpu.h and got bitten by this implicit inclusion. Apparently, the right thing to do is breaking this ultimately unnecessary implicit inclusion; however, because it has been there for so long, removing the implicit inclusion breaks a lot of files. Another approach would be leaving the implicit inclusion alone but moving some parts of percpu which slab.h wants to use into percpu-defs.h which is hacky but far less painful.
This patch drops the implicit slab.h inclusion and updates all the affected files w/ allmodconfig on x86_64. This isn't complete and the same task should be done for each arch but it should cover most of arch independent code.
REVIEW ONLY. DO NOT APPLY. WILL BREAK A LOT OF ARCHS OTHER THAN x86_64.
NOT_SIGNED_OFF_YET
Cc: Lee Schermerhorn <[email protected]>
--- arch/x86/ia32/sys_ia32.c | 1 + arch/x86/kernel/alternative.c | 1 + arch/x86/kernel/apic/nmi.c | 1 + arch/x86/kernel/cpu/mcheck/mce.c | 1 + arch/x86/kernel/cpu/mcheck/mce_amd.c | 1 + arch/x86/kernel/cpu/perf_event.c | 1 + arch/x86/kernel/hpet.c | 1 + arch/x86/kernel/i387.c | 1 + arch/x86/kernel/kdebugfs.c | 1 + arch/x86/kernel/uv_irq.c | 1 + arch/x86/kernel/uv_time.c | 1 + arch/x86/mm/kmmio.c | 1 + arch/x86/mm/mmio-mod.c | 1 + arch/x86/mm/pat.c | 1 + arch/x86/vdso/vma.c | 1 + arch/x86/xen/debugfs.c | 1 + arch/x86/xen/smp.c | 1 + block/blk-cgroup.c | 1 + block/blk-integrity.c | 1 + block/blk-ioc.c | 1 + block/blk-sysfs.c | 1 + block/blk-tag.c | 1 + block/bsg.c | 1 + block/cfq-iosched.c | 1 + block/compat_ioctl.c | 1 + block/noop-iosched.c | 1 + drivers/auxdisplay/cfag12864b.c | 1 + drivers/base/bus.c | 1 + drivers/base/devres.c | 1 + drivers/base/driver.c | 1 + drivers/base/firmware_class.c | 1 + drivers/base/memory.c | 1 + drivers/base/module.c | 1 + drivers/block/brd.c | 1 + drivers/block/osdblk.c | 1 + drivers/block/ub.c | 1 + drivers/block/virtio_blk.c | 1 + drivers/block/xen-blkfront.c | 1 + drivers/char/hvc_console.c | 1 + drivers/char/pty.c | 1 + drivers/char/tpm/tpm.c | 1 + drivers/char/tpm/tpm_nsc.c | 1 + drivers/char/tpm/tpm_tis.c | 1 + drivers/char/tty_audit.c | 1 + drivers/char/virtio_console.c | 1 + drivers/cpufreq/cpufreq_stats.c | 1 + drivers/cpuidle/sysfs.c | 1 + drivers/dma/dmaengine.c | 1 + drivers/dma/dmatest.c | 1 + drivers/firmware/dell_rbu.c | 1 + drivers/firmware/dmi-id.c | 1 + drivers/firmware/memmap.c | 1 + drivers/gpio/adp5588-gpio.c | 1 + drivers/gpio/gpiolib.c | 1 + drivers/gpio/max7300.c | 1 + drivers/gpio/max730x.c | 1 + drivers/gpio/pca953x.c | 1 + drivers/gpio/timbgpio.c | 1 + drivers/gpio/wm8994-gpio.c | 1 + drivers/gpu/drm/ttm/ttm_agp_backend.c | 1 + drivers/gpu/drm/ttm/ttm_bo_util.c | 1 + drivers/gpu/drm/ttm/ttm_memory.c | 1 + drivers/gpu/drm/ttm/ttm_tt.c | 1 + drivers/hwmon/ad7414.c | 1 + drivers/hwmon/ad7418.c | 1 + drivers/hwmon/adt7411.c | 1 + drivers/hwmon/adt7462.c | 1 + drivers/hwmon/adt7470.c | 1 + drivers/hwmon/atxp1.c | 1 + drivers/hwmon/f75375s.c | 1 + drivers/hwmon/mc13783-adc.c | 1 + drivers/hwmon/sht15.c | 1 + drivers/i2c/busses/i2c-gpio.c | 1 + drivers/i2c/busses/i2c-ocores.c | 1 + drivers/i2c/busses/i2c-simtec.c | 1 + drivers/i2c/busses/i2c-tiny-usb.c | 1 + drivers/i2c/busses/i2c-xiic.c | 1 + drivers/i2c/i2c-boardinfo.c | 1 + drivers/i2c/i2c-smbus.c | 1 + drivers/infiniband/core/cm.c | 1 + drivers/infiniband/core/mad.c | 1 + drivers/infiniband/core/mad_priv.h | 1 + drivers/infiniband/core/multicast.c | 1 + drivers/infiniband/core/ucm.c | 1 + drivers/infiniband/core/user_mad.c | 1 + drivers/infiniband/core/uverbs_cmd.c | 1 + drivers/infiniband/core/uverbs_main.c | 1 + drivers/input/ff-core.c | 1 + drivers/input/ff-memless.c | 1 + drivers/input/input-polldev.c | 1 + drivers/input/keyboard/adp5588-keys.c | 1 + drivers/input/keyboard/lm8323.c | 1 + drivers/input/keyboard/matrix_keypad.c | 1 + drivers/input/keyboard/max7359_keypad.c | 1 + drivers/input/keyboard/opencores-kbd.c | 1 + drivers/input/misc/ati_remote2.c | 1 + drivers/input/misc/pcap_keys.c | 1 + drivers/input/misc/pcf50633-input.c | 1 + drivers/input/misc/rotary_encoder.c | 1 + drivers/input/misc/winbond-cir.c | 1 + drivers/input/mouse/alps.c | 1 + drivers/input/mouse/elantech.c | 1 + drivers/input/mouse/lifebook.c | 1 + drivers/input/mouse/sentelic.c | 1 + drivers/input/mouse/synaptics.c | 1 + drivers/input/mouse/synaptics_i2c.c | 1 + drivers/input/serio/altera_ps2.c | 1 + drivers/input/serio/ct82c710.c | 1 + drivers/input/serio/i8042.c | 1 + drivers/input/sparse-keymap.c | 1 + drivers/input/touchscreen/eeti_ts.c | 1 + drivers/input/touchscreen/mc13783_ts.c | 1 + drivers/input/touchscreen/mcs5000_ts.c | 1 + drivers/input/touchscreen/pcap_ts.c | 1 + drivers/input/xen-kbdfront.c | 1 + drivers/isdn/capi/capifs.c | 1 + drivers/isdn/capi/capiutil.c | 1 + drivers/isdn/hardware/mISDN/hfcpci.c | 1 + drivers/leds/led-triggers.c | 1 + drivers/leds/leds-bd2802.c | 1 + drivers/leds/leds-gpio.c | 1 + drivers/leds/leds-lp3944.c | 1 + drivers/leds/leds-lt3593.c | 1 + drivers/leds/leds-pca9532.c | 2 + drivers/leds/leds-pca955x.c | 1 + drivers/leds/leds-regulator.c | 1 + drivers/leds/ledtrig-backlight.c | 1 + drivers/leds/ledtrig-gpio.c | 1 + drivers/leds/ledtrig-heartbeat.c | 1 + drivers/leds/ledtrig-timer.c | 1 + drivers/md/dm-log-userspace-base.c | 1 + drivers/md/dm.h | 1 + drivers/md/md.h | 1 + drivers/media/IR/ir-keytable.c | 1 + drivers/media/IR/ir-sysfs.c | 1 + drivers/media/common/tuners/mc44s803.c | 1 + drivers/media/common/tuners/mt2060.c | 1 + drivers/media/common/tuners/mt20xx.c | 1 + drivers/media/common/tuners/mt2131.c | 1 + drivers/media/common/tuners/mt2266.c | 1 + drivers/media/common/tuners/qt1010.c | 2 + drivers/media/common/tuners/tda827x.c | 1 + drivers/media/common/tuners/tda8290.c | 1 + drivers/media/common/tuners/tea5761.c | 1 + drivers/media/common/tuners/tea5767.c | 1 + drivers/media/common/tuners/tuner-i2c.h | 1 + drivers/media/common/tuners/tuner-simple.c | 1 + drivers/media/common/tuners/tuner-xc2028.c | 1 + drivers/media/dvb/frontends/atbm8830.c | 1 + drivers/media/dvb/frontends/dib0070.c | 1 + drivers/media/dvb/frontends/dib0090.c | 1 + drivers/media/dvb/frontends/dib3000mc.c | 1 + drivers/media/dvb/frontends/dib7000m.c | 1 + drivers/media/dvb/frontends/dib7000p.c | 1 + drivers/media/dvb/frontends/dib8000.c | 1 + drivers/media/dvb/frontends/drx397xD.c | 1 + drivers/media/dvb/frontends/dvb-pll.c | 1 + drivers/media/dvb/frontends/ec100.c | 1 + drivers/media/dvb/frontends/itd1000.c | 1 + drivers/media/dvb/frontends/lgdt3304.c | 1 + drivers/media/dvb/frontends/lgdt3305.c | 1 + drivers/media/dvb/frontends/lgs8gxx.c | 1 + drivers/media/dvb/frontends/mb86a16.c | 1 + drivers/media/dvb/frontends/s921_module.c | 1 + drivers/media/dvb/frontends/stb0899_drv.c | 1 + drivers/media/dvb/frontends/stb6000.c | 1 + drivers/media/dvb/frontends/stb6100.c | 1 + drivers/media/dvb/frontends/stv090x.c | 1 + drivers/media/dvb/frontends/stv6110.c | 1 + drivers/media/dvb/frontends/stv6110x.c | 1 + drivers/media/dvb/frontends/tda665x.c | 1 + drivers/media/dvb/frontends/tda8261.c | 1 + drivers/media/dvb/frontends/tda826x.c | 1 + drivers/media/dvb/frontends/tua6100.c | 1 + drivers/media/dvb/frontends/zl10036.c | 1 + drivers/media/dvb/siano/smscoreapi.c | 1 + drivers/media/dvb/siano/smsdvb.c | 1 + drivers/media/dvb/siano/smssdio.c | 1 + drivers/media/dvb/siano/smsusb.c | 1 + drivers/media/dvb/ttusb-dec/ttusbdecfe.c | 2 + drivers/media/radio/radio-si4713.c | 1 + drivers/media/radio/radio-tea5764.c | 1 + drivers/media/radio/radio-timb.c | 1 + drivers/media/radio/saa7706h.c | 1 + drivers/media/radio/si4713-i2c.c | 1 + drivers/media/radio/tef6862.c | 1 + drivers/media/video/adv7170.c | 1 + drivers/media/video/adv7175.c | 1 + drivers/media/video/bt819.c | 1 + drivers/media/video/bt856.c | 1 + drivers/media/video/bt866.c | 1 + drivers/media/video/cs5345.c | 1 + drivers/media/video/cs53l32a.c | 1 + drivers/media/video/gspca/gspca.h | 1 + drivers/media/video/ks0127.c | 1 + drivers/media/video/m52790.c | 1 + drivers/media/video/mt9v011.c | 1 + drivers/media/video/ov7670.c | 1 + drivers/media/video/pvrusb2/pvrusb2-v4l2.c | 1 + drivers/media/video/pwc/pwc-ctrl.c | 1 + drivers/media/video/pwc/pwc-dec1.c | 2 +- drivers/media/video/pwc/pwc-dec23.c | 1 + drivers/media/video/s2255drv.c | 1 + drivers/media/video/saa5246a.c | 1 + drivers/media/video/saa5249.c | 1 + drivers/media/video/saa717x.c | 1 + drivers/media/video/saa7185.c | 1 + drivers/media/video/soc_camera.c | 1 + drivers/media/video/tda9840.c | 1 + drivers/media/video/tea6415c.c | 1 + drivers/media/video/tea6420.c | 1 + drivers/media/video/tlg2300/pd-video.c | 1 + drivers/media/video/tvp5150.c | 1 + drivers/media/video/upd64031a.c | 1 + drivers/media/video/upd64083.c | 1 + drivers/media/video/usbvideo/quickcam_messenger.c | 1 + drivers/media/video/uvc/uvc_ctrl.c | 1 + drivers/media/video/uvc/uvc_driver.c | 1 + drivers/media/video/uvc/uvc_status.c | 1 + drivers/media/video/uvc/uvc_v4l2.c | 1 + drivers/media/video/uvc/uvc_video.c | 1 + drivers/media/video/v4l2-ioctl.c | 1 + drivers/media/video/vp27smpx.c | 1 + drivers/media/video/vpx3220.c | 1 + drivers/media/video/wm8739.c | 1 + drivers/media/video/wm8775.c | 1 + drivers/memstick/core/memstick.c | 1 + drivers/memstick/core/mspro_block.c | 1 + drivers/mfd/htc-pasic3.c | 1 + drivers/mfd/pcf50633-adc.c | 1 + drivers/mfd/pcf50633-core.c | 1 + drivers/mfd/ucb1400_core.c | 1 + drivers/mfd/wm8400-core.c | 1 + drivers/mfd/wm8994-core.c | 1 + drivers/misc/c2port/core.c | 1 + drivers/misc/enclosure.c | 1 + drivers/misc/ics932s401.c | 1 + drivers/misc/iwmc3200top/debugfs.c | 1 + drivers/misc/iwmc3200top/fw-download.c | 1 + drivers/misc/iwmc3200top/log.c | 1 + drivers/misc/iwmc3200top/main.c | 1 + drivers/misc/lkdtm.c | 1 + drivers/misc/sgi-xp/xpc_main.c | 1 + drivers/misc/sgi-xp/xpc_partition.c | 1 + drivers/misc/sgi-xp/xpc_uv.c | 1 + drivers/mmc/card/block.c | 1 + drivers/mmc/card/mmc_test.c | 1 + drivers/mmc/card/queue.c | 1 + drivers/mmc/card/sdio_uart.c | 1 + drivers/mmc/core/bus.c | 1 + drivers/mmc/core/debugfs.c | 1 + drivers/mmc/core/host.c | 1 + drivers/mmc/core/mmc.c | 1 + drivers/mmc/core/mmc_ops.c | 1 + drivers/mmc/core/sd.c | 1 + drivers/mmc/core/sdio_bus.c | 1 + drivers/mmc/core/sdio_cis.c | 1 + drivers/mmc/host/sdhci.c | 1 + drivers/mmc/host/wbsd.c | 1 + drivers/mtd/devices/block2mtd.c | 1 + drivers/mtd/lpddr/lpddr_cmds.c | 1 + drivers/mtd/maps/gpio-addr-flash.c | 1 + drivers/mtd/nand/diskonchip.c | 1 + drivers/mtd/onenand/onenand_base.c | 1 + drivers/mtd/onenand/onenand_sim.c | 1 + drivers/mtd/tests/mtd_oobtest.c | 1 + drivers/mtd/tests/mtd_pagetest.c | 1 + drivers/mtd/tests/mtd_readtest.c | 1 + drivers/mtd/tests/mtd_speedtest.c | 1 + drivers/mtd/tests/mtd_stresstest.c | 1 + drivers/mtd/tests/mtd_subpagetest.c | 1 + drivers/mtd/tests/mtd_torturetest.c | 1 + drivers/mtd/ubi/gluebi.c | 1 + drivers/mtd/ubi/ubi.h | 1 + drivers/net/phy/fixed.c | 1 + drivers/power/bq27x00_battery.c | 1 + drivers/power/ds2760_battery.c | 1 + drivers/power/ds2782_battery.c | 1 + drivers/power/max17040_battery.c | 1 + drivers/power/pcf50633-charger.c | 1 + drivers/power/power_supply_leds.c | 1 + drivers/power/power_supply_sysfs.c | 1 + drivers/pps/kapi.c | 1 + drivers/regulator/core.c | 1 + drivers/regulator/fixed.c | 1 + drivers/regulator/lp3971.c | 1 + drivers/regulator/max1586.c | 1 + drivers/regulator/max8649.c | 1 + drivers/regulator/max8660.c | 1 + drivers/regulator/mc13783-regulator.c | 1 + drivers/regulator/tps65023-regulator.c | 1 + drivers/regulator/tps6507x-regulator.c | 1 + drivers/regulator/userspace-consumer.c | 1 + drivers/regulator/virtual.c | 1 + drivers/regulator/wm8994-regulator.c | 1 + drivers/rtc/class.c | 1 + drivers/rtc/rtc-bq4802.c | 1 + drivers/rtc/rtc-ds1286.c | 1 + drivers/rtc/rtc-ds1374.c | 1 + drivers/rtc/rtc-fm3130.c | 1 + drivers/rtc/rtc-m48t35.c | 1 + drivers/rtc/rtc-m48t59.c | 1 + drivers/rtc/rtc-mc13783.c | 1 + drivers/rtc/rtc-msm6242.c | 1 + drivers/rtc/rtc-pcap.c | 1 + drivers/rtc/rtc-pcf50633.c | 1 + drivers/rtc/rtc-pcf8563.c | 1 + drivers/rtc/rtc-rp5c01.c | 1 + drivers/rtc/rtc-rs5c372.c | 1 + drivers/rtc/rtc-rx8025.c | 1 + drivers/rtc/rtc-v3020.c | 1 + drivers/scsi/ch.c | 1 + drivers/scsi/device_handler/scsi_dh.c | 1 + drivers/scsi/device_handler/scsi_dh_alua.c | 1 + drivers/scsi/device_handler/scsi_dh_emc.c | 1 + drivers/scsi/device_handler/scsi_dh_hp_sw.c | 1 + drivers/scsi/device_handler/scsi_dh_rdac.c | 1 + drivers/scsi/hosts.c | 1 + drivers/scsi/libsrp.c | 1 + drivers/scsi/lpfc/lpfc_hbadisc.c | 1 + drivers/scsi/osd/osd_initiator.c | 1 + drivers/scsi/osd/osd_uld.c | 1 + drivers/scsi/scsi_scan.c | 1 + drivers/scsi/scsi_sysfs.c | 1 + drivers/scsi/scsi_tgt_lib.c | 1 + drivers/scsi/scsi_transport_spi.c | 1 + drivers/scsi/scsicam.c | 1 + drivers/scsi/sd.c | 1 + drivers/scsi/ses.c | 1 + drivers/scsi/sr.c | 1 + drivers/scsi/sr_ioctl.c | 1 + drivers/scsi/sr_vendor.c | 1 + drivers/scsi/st.c | 1 + drivers/serial/8250.c | 1 + drivers/thermal/thermal_sys.c | 1 + drivers/uio/uio.c | 1 + drivers/uio/uio_pdrv.c | 1 + drivers/uio/uio_pdrv_genirq.c | 1 + drivers/usb/c67x00/c67x00-drv.c | 1 + drivers/usb/c67x00/c67x00-sched.c | 1 + drivers/usb/class/usbtmc.c | 1 + drivers/usb/core/driver.c | 1 + drivers/usb/core/endpoint.c | 1 + drivers/usb/core/file.c | 1 + drivers/usb/gadget/audio.c | 1 + drivers/usb/host/isp116x-hcd.c | 1 + drivers/usb/host/r8a66597-hcd.c | 1 + drivers/usb/host/xhci-hcd.c | 1 + drivers/usb/host/xhci-ring.c | 1 + drivers/usb/misc/appledisplay.c | 1 + drivers/usb/misc/cypress_cy7c63.c | 1 + drivers/usb/misc/cytherm.c | 1 + drivers/usb/misc/isight_firmware.c | 1 + drivers/usb/misc/trancevibrator.c | 1 + drivers/usb/otg/nop-usb-xceiv.c | 1 + drivers/usb/serial/aircable.c | 1 + drivers/usb/serial/ark3116.c | 1 + drivers/usb/serial/bus.c | 1 + drivers/usb/serial/ch341.c | 1 + drivers/usb/serial/opticon.c | 1 + drivers/usb/serial/option.c | 1 + drivers/usb/serial/sierra.c | 1 + drivers/usb/serial/symbolserial.c | 1 + drivers/usb/storage/usb.h | 1 + drivers/usb/wusbcore/cbaf.c | 1 + drivers/usb/wusbcore/wusbhc.h | 1 + drivers/uwb/allocator.c | 1 + drivers/uwb/beacon.c | 1 + drivers/uwb/drp-ie.c | 1 + drivers/uwb/drp.c | 1 + drivers/uwb/est.c | 1 + drivers/uwb/i1480/dfu/mac.c | 1 + drivers/uwb/i1480/dfu/usb.c | 1 + drivers/uwb/uwb-internal.h | 1 + drivers/video/backlight/backlight.c | 1 + drivers/video/backlight/lcd.c | 1 + drivers/video/backlight/platform_lcd.c | 1 + drivers/video/console/bitblit.c | 1 + drivers/video/console/fbcon_ccw.c | 1 + drivers/video/console/fbcon_cw.c | 1 + drivers/video/console/fbcon_rotate.c | 1 + drivers/video/console/fbcon_ud.c | 1 + drivers/video/display/display-sysfs.c | 1 + drivers/video/fb_ddc.c | 1 + drivers/video/fbcvt.c | 1 + drivers/video/fbsysfs.c | 1 + drivers/video/modedb.c | 1 + drivers/video/output.c | 1 + drivers/video/s1d13xxxfb.c | 1 + drivers/video/xen-fbfront.c | 1 + drivers/virtio/virtio_balloon.c | 1 + drivers/virtio/virtio_ring.c | 1 + drivers/w1/masters/ds2490.c | 1 + drivers/w1/masters/w1-gpio.c | 1 + drivers/w1/slaves/w1_ds2433.c | 1 + drivers/watchdog/max63xx_wdt.c | 1 + drivers/xen/events.c | 1 + drivers/xen/grant-table.c | 1 + drivers/xen/manage.c | 1 + drivers/xen/sys-hypervisor.c | 1 + drivers/xen/xenbus/xenbus_client.c | 1 + drivers/xen/xenfs/xenbus.c | 1 + fs/9p/cache.c | 1 + fs/9p/fid.c | 1 + fs/9p/v9fs.c | 1 + fs/9p/vfs_dentry.c | 1 + fs/9p/vfs_dir.c | 1 + fs/9p/vfs_inode.c | 1 + fs/9p/vfs_super.c | 1 + fs/adfs/super.c | 1 + fs/affs/affs.h | 1 + fs/affs/bitmap.c | 1 + fs/affs/super.c | 1 + fs/bio-integrity.c | 1 + fs/btrfs/async-thread.c | 1 + fs/btrfs/ctree.h | 1 + fs/btrfs/super.c | 1 + fs/ecryptfs/dentry.c | 1 + fs/ecryptfs/kthread.c | 1 + fs/ecryptfs/messaging.c | 1 + fs/ecryptfs/miscdev.c | 1 + fs/eventfd.c | 1 + fs/exofs/inode.c | 1 + fs/exofs/ios.c | 1 + fs/exofs/super.c | 1 + fs/ext2/balloc.c | 1 + fs/fat/cache.c | 1 + fs/fat/fat.h | 1 + fs/fs-writeback.c | 1 + fs/fscache/object-list.c | 1 + fs/fscache/operation.c | 1 + fs/fscache/page.c | 1 + fs/fuse/cuse.c | 1 + fs/gfs2/lock_dlm.c | 1 + fs/hfsplus/options.c | 1 + fs/libfs.c | 1 + fs/logfs/logfs.h | 1 + fs/nilfs2/the_nilfs.h | 1 + fs/ntfs/ntfs.h | 1 + fs/ocfs2/stack_o2cb.c | 1 + fs/ocfs2/stack_user.c | 1 + fs/omfs/inode.c | 1 + fs/ramfs/inode.c | 1 + fs/signalfd.c | 1 + fs/squashfs/zlib_wrapper.c | 1 + fs/sync.c | 1 + fs/sysfs/inode.c | 1 + fs/sysfs/mount.c | 1 + fs/timerfd.c | 1 + fs/ubifs/ubifs.h | 1 + fs/udf/unicode.c | 1 + include/linux/fsnotify.h | 1 + include/linux/gameport.h | 1 + include/linux/jbd.h | 1 + include/linux/jbd2.h | 1 + include/linux/kvm_host.h | 1 + include/linux/percpu.h | 22 ++-------------- include/linux/security.h | 1 + include/linux/spi/spi.h | 1 + include/linux/taskstats_kern.h | 1 + include/linux/usb/gadget.h | 2 + kernel/async.c | 1 + kernel/cgroup_freezer.c | 1 + kernel/irq/numa_migrate.c | 1 + kernel/padata.c | 1 + kernel/perf_event.c | 1 + kernel/pid_namespace.c | 1 + kernel/power/hibernate_nvs.c | 1 + kernel/power/snapshot.c | 1 + kernel/power/swap.c | 1 + kernel/sched_cpupri.c | 1 + kernel/time/timecompare.c | 1 + kernel/timer.c | 1 + kernel/trace/trace.h | 1 + lib/cpumask.c | 1 + lib/debugobjects.c | 1 + lib/genalloc.c | 1 + lib/kasprintf.c | 1 + lib/kref.c | 1 + lib/scatterlist.c | 1 + mm/Makefile | 3 +- mm/bootmem.c | 1 + mm/mmu_notifier.c | 1 + mm/percpu.c | 28 ++++++++++++++++++++- mm/sparse-vmemmap.c | 1 + mm/sparse.c | 1 + net/9p/client.c | 1 + net/9p/protocol.c | 1 + net/9p/util.c | 1 + net/rfkill/core.c | 1 + net/sunrpc/xdr.c | 1 + samples/kobject/kset-example.c | 1 + security/device_cgroup.c | 1 + security/tomoyo/common.h | 1 + sound/core/hrtimer.c | 1 + sound/core/jack.c | 1 + sound/core/misc.c | 1 + sound/core/pcm_memory.c | 1 + sound/core/seq/seq_system.c | 1 + sound/drivers/opl3/opl3_synth.c | 1 + sound/drivers/serial-u16550.c | 1 + sound/i2c/other/tea575x-tuner.c | 1 + sound/pci/atiixp.c | 1 + sound/pci/atiixp_modem.c | 1 + sound/pci/hda/hda_eld.c | 1 + sound/pci/ice1712/ak4xxx.c | 1 + sound/soc/codecs/ad73311.c | 1 + sound/soc/codecs/ads117x.c | 1 + sound/soc/codecs/ak4535.c | 1 + sound/soc/codecs/ak4642.c | 1 + sound/soc/codecs/ak4671.c | 1 + sound/soc/codecs/cs4270.c | 1 + sound/soc/codecs/da7210.c | 1 + sound/soc/codecs/pcm3008.c | 1 + sound/soc/codecs/ssm2602.c | 1 + sound/soc/codecs/tlv320aic23.c | 1 + sound/soc/codecs/tlv320aic3x.c | 1 + sound/soc/codecs/tlv320dac33.c | 1 + sound/soc/codecs/tpa6130a2.c | 1 + sound/soc/codecs/uda134x.c | 1 + sound/soc/codecs/wm2000.c | 1 + sound/soc/codecs/wm8400.c | 1 + sound/soc/codecs/wm8523.c | 1 + sound/soc/codecs/wm8580.c | 1 + sound/soc/codecs/wm8727.c | 1 + sound/soc/codecs/wm8900.c | 1 + sound/soc/codecs/wm8903.c | 1 + sound/soc/codecs/wm8904.c | 1 + sound/soc/codecs/wm8955.c | 1 + sound/soc/codecs/wm8960.c | 1 + sound/soc/codecs/wm8961.c | 1 + sound/soc/codecs/wm8971.c | 1 + sound/soc/codecs/wm8974.c | 1 + sound/soc/codecs/wm8978.c | 1 + sound/soc/codecs/wm8990.c | 1 + sound/soc/codecs/wm8994.c | 1 + sound/soc/codecs/wm9081.c | 1 + sound/soc/soc-core.c | 1 + sound/soc/soc-dapm.c | 1 + sound/usb/caiaq/audio.c | 1 + sound/usb/usx2y/us122l.c | 1 + sound/usb/usx2y/usX2Yhwdep.c | 1 + sound/usb/usx2y/usbusx2y.c | 1 + sound/usb/usx2y/usbusx2yaudio.c | 1 + 544 files changed, 576 insertions(+), 23 deletions(-)
=====================
PATCH CONTENT OMITTED
=====================
Quoted 18 lines · Tejun Heo
Lee Schermerhorn was trying to use percpu from
slab.hand ran into a dependency loop.percpu.hwas usingslab.hfor UP inline implementation which isn't a big deal in itself but it turns out thatpercpu.hends up being included everywhere viamodule.handsched.h. So, removing that implicit inclusion breaks a lot of files.The following git tree contains trial conversion on
x86_64. allmodconfig builds fine on it but a lot of other archs are likely to break although fixing them up shouldn't be too hard.
git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu.gitreview-remove-implied-slab-inclusionThis can be solved much easier by moving some of the stuff that's necessary for
slab.hfrompercpu.hintopercpu-defs.hwhich originally got separated so that it can be used byasm/percpu.hbut it's hackish and for longer term, it would be better to haveslab.hexplicitly included where necessary.
Quoted 3 lines
So, what do you guys think? Probably-the-right-thing-to-do >544 file patch or somewhat-ugly-but-let's-worry-about-it-tommorrow two file patch?
You can include slab.h only for UP case.
Since everyone tests on allmodconfig which has SMP=y, configuration will be more strict wrt headers, and compile breakages amount negligible.
Tejun Heo
maintainerHello,
Quoted 9 lines · Alexey Dobriyan
Quoted 3 lines
So, what do you guys think? Probably-the-right-thing-to-do >544 file patch or somewhat-ugly-but-let's-worry-about-it-tommorrow two file patch?
You can include
slab.honly for UP case.Since everyone tests on allmodconfig which has SMP=y, configuration will be more strict wrt headers, and compile breakages amount negligible.
But that wouldn't change anything about having to do an oneshot huge change, right? And, if we're gonna do that anyway, I think it would be better to remove the implicit dependency for UP case too so that for example slab.h in this case doesn't have to do ifdef on CONFIG_SMP before using percpu accessors.
Thanks.
Signature · 1 line
tejun
Tejun Heo
maintainerQuoted 3 lines · Tejun Heo
So, what do you guys think? Probably-the-right-thing-to-do >544 file patch or somewhat-ugly-but-let's-worry-about-it-tommorrow two file patch?
Ping, any opinions?
Thanks.
Signature · 1 line
tejun
Quoted 6 lines · Tejun Heo
Quoted 3 lines · Tejun Heo
So, what do you guys think? Probably-the-right-thing-to-do >544 file patch or somewhat-ugly-but-let's-worry-about-it-tommorrow two file patch?
Ping, any opinions?
( /me mumbles something about not having a patch in the email to review and
pulling the tree. 200k patch is just fine for lkml - i've attached it below for easier review. percpu.h and percpu.c has the meat of the changes. )
i like the dependency reduction. Noticed one small detail:
this new 2000-lines #ifdef block percpu.c:
+#ifdef CONFIG_SMP
+#else /* CONFIG_SMP */
+#endif /* CONFIG_SMP */
feels a bit lame. A separate percpu_up.c file would be nicer i suppose?
Also, why should we make this opt-in and expose a wide range of configs to build breakages? A more gradual approach would be to write a simple script that adds a slab.h include to all .c's that include percpu.h, directly or indirectly.
You can map the pattern experimentally: the insertion pattern could be built from the x86 allmodconfig build you did [i.e. extend the pattern until you make it build on allmodconfig] - that would cover most cases in practice (not just allmodconfig) - and would cover most architectures as well.
Ingo
arch/x86/ia32/sys_ia32.c +1 -0
@@ -40,6 +40,7 @@#include <linux/ptrace.h> #include <linux/highuid.h> #include <linux/sysctl.h> +#include <linux/slab.h> #include <asm/mman.h> #include <asm/types.h> #include <asm/uaccess.h>
arch/x86/kernel/alternative.c +1 -0
@@ -8,6 +8,7 @@#include <linux/vmalloc.h> #include <linux/memory.h> #include <linux/stop_machine.h> +#include <linux/slab.h> #include <asm/alternative.h> #include <asm/sections.h> #include <asm/pgtable.h>
arch/x86/kernel/apic/nmi.c +1 -0
@@ -26,6 +26,7 @@#include <linux/kernel_stat.h> #include <linux/kdebug.h> #include <linux/smp.h> +#include <linux/slab.h> #include <asm/i8259.h> #include <asm/io_apic.h>
arch/x86/kernel/cpu/mcheck/mce.c +1 -0
@@ -29,6 +29,7 @@#include <linux/init.h> #include <linux/kmod.h> #include <linux/poll.h> +#include <linux/slab.h> #include <linux/nmi.h> #include <linux/cpu.h> #include <linux/smp.h>
arch/x86/kernel/cpu/mcheck/mce_amd.c +1 -0
@@ -22,6 +22,7 @@#include <linux/sched.h> #include <linux/sysfs.h> #include <linux/init.h> +#include <linux/slab.h> #include <linux/cpu.h> #include <linux/smp.h>
arch/x86/kernel/cpu/perf_event.c +1 -0
@@ -24,6 +24,7 @@#include <linux/highmem.h> #include <linux/cpu.h> #include <linux/bitops.h> +#include <linux/slab.h> #include <asm/apic.h> #include <asm/stacktrace.h>
arch/x86/kernel/hpet.c +1 -0
@@ -6,6 +6,7 @@#include <linux/errno.h> #include <linux/hpet.h> #include <linux/init.h> +#include <linux/slab.h> #include <linux/cpu.h> #include <linux/pm.h> #include <linux/io.h>
arch/x86/kernel/i387.c +1 -0
@@ -8,6 +8,7 @@#include <linux/module.h> #include <linux/regset.h> #include <linux/sched.h> +#include <linux/slab.h> #include <asm/sigcontext.h> #include <asm/processor.h>
arch/x86/kernel/kdebugfs.c +1 -0
@@ -10,6 +10,7 @@#include <linux/uaccess.h> #include <linux/module.h> #include <linux/init.h> +#include <linux/slab.h> #include <linux/stat.h> #include <linux/io.h> #include <linux/mm.h>
arch/x86/kernel/uv_irq.c +1 -0
@@ -11,6 +11,7 @@#include <linux/module.h> #include <linux/rbtree.h> #include <linux/irq.h> +#include <linux/slab.h> #include <asm/apic.h> #include <asm/uv/uv_irq.h>
arch/x86/kernel/uv_time.c +1 -0
@@ -19,6 +19,7 @@* Copyright (c) Dimitri Sivanich */ #include <linux/clockchips.h> +#include <linux/slab.h> #include <asm/uv/uv_mmrs.h> #include <asm/uv/uv_hub.h>
arch/x86/mm/kmmio.c +1 -0
@@ -21,6 +21,7 @@#include <linux/kdebug.h> #include <linux/mutex.h> #include <linux/io.h> +#include <linux/slab.h> #include <asm/cacheflush.h> #include <asm/tlbflush.h> #include <linux/errno.h>
arch/x86/mm/mmio-mod.c +1 -0
@@ -30,6 +30,7 @@#include <linux/io.h> #include <linux/version.h> #include <linux/kallsyms.h> +#include <linux/slab.h> #include <asm/pgtable.h> #include <linux/mmiotrace.h> #include <asm/e820.h> /* for ISA_START_ADDRESS */
arch/x86/mm/pat.c +1 -0
@@ -16,6 +16,7 @@#include <linux/mm.h> #include <linux/fs.h> #include <linux/rbtree.h> +#include <linux/slab.h> #include <asm/cacheflush.h> #include <asm/processor.h>
arch/x86/vdso/vma.c +1 -0
@@ -9,6 +9,7 @@#include <linux/init.h> #include <linux/random.h> #include <linux/elf.h> +#include <linux/slab.h> #include <asm/vsyscall.h> #include <asm/vgtod.h> #include <asm/proto.h>
arch/x86/xen/debugfs.c +1 -0
@@ -1,6 +1,7 @@#include <linux/init.h> #include <linux/debugfs.h> #include <linux/module.h> +#include <linux/slab.h> #include "debugfs.h"
arch/x86/xen/smp.c +1 -0
@@ -15,6 +15,7 @@#include <linux/sched.h> #include <linux/err.h> #include <linux/smp.h> +#include <linux/slab.h> #include <asm/paravirt.h> #include <asm/desc.h>
block/blk-cgroup.c +1 -0
@@ -15,6 +15,7 @@#include <linux/kdev_t.h> #include <linux/module.h> #include <linux/err.h> +#include <linux/slab.h> #include "blk-cgroup.h" static DEFINE_SPINLOCK (blkio_list_lock);
block/blk-integrity.c +1 -0
@@ -24,6 +24,7 @@#include <linux/mempool.h> #include <linux/bio.h> #include <linux/scatterlist.h> +#include <linux/slab.h> #include "blk.h"
block/blk-ioc.c +1 -0
@@ -7,6 +7,7 @@#include <linux/bio.h> #include <linux/blkdev.h> #include <linux/bootmem.h> /* for max_pfn/max_low_pfn */ +#include <linux/slab.h> #include "blk.h"
block/blk-sysfs.c +1 -0
@@ -6,6 +6,7 @@#include <linux/bio.h> #include <linux/blkdev.h> #include <linux/blktrace_api.h> +#include <linux/slab.h> #include "blk.h"
block/blk-tag.c +1 -0
@@ -5,6 +5,7 @@#include <linux/module.h> #include <linux/bio.h> #include <linux/blkdev.h> +#include <linux/slab.h> #include "blk.h"
block/bsg.c +1 -0
@@ -21,6 +21,7 @@#include <linux/idr.h> #include <linux/bsg.h> #include <linux/smp_lock.h> +#include <linux/slab.h> #include <scsi/scsi.h> #include <scsi/scsi_ioctl.h>
block/cfq-iosched.c +1 -0
@@ -13,6 +13,7 @@#include <linux/rbtree.h> #include <linux/ioprio.h> #include <linux/blktrace_api.h> +#include <linux/slab.h> #include "blk-cgroup.h" /*
block/compat_ioctl.c +1 -0
@@ -10,6 +10,7 @@#include <linux/smp_lock.h> #include <linux/types.h> #include <linux/uaccess.h> +#include <linux/slab.h> static int compat_put_ushort (unsigned long arg,unsigned short val) {
block/noop-iosched.c +1 -0
@@ -6,6 +6,7 @@#include <linux/bio.h> #include <linux/module.h> #include <linux/init.h> +#include <linux/slab.h> struct noop_data {struct list_head queue;
drivers/auxdisplay/cfag12864b.c +1 -0
@@ -37,6 +37,7 @@#include <linux/workqueue.h> #include <linux/ks0108.h> #include <linux/cfag12864b.h> +#include <linux/slab.h> #define CFAG12864B_NAME "cfag12864b"
drivers/base/bus.c +1 -0
@@ -15,6 +15,7 @@#include <linux/errno.h> #include <linux/init.h> #include <linux/string.h> +#include <linux/slab.h> #include "base.h" #include "power/power.h"
drivers/base/devres.c +1 -0
@@ -9,6 +9,7 @@#include <linux/device.h> #include <linux/module.h> +#include <linux/slab.h> #include "base.h"
drivers/base/driver.c +1 -0
@@ -14,6 +14,7 @@#include <linux/module.h> #include <linux/errno.h> #include <linux/string.h> +#include <linux/slab.h> #include "base.h" static struct device *next_device (struct klist_iter *i)
drivers/base/firmware_class.c +1 -0
@@ -12,6 +12,7 @@#include <linux/module.h> #include <linux/init.h> #include <linux/timer.h> +#include <linux/slab.h> #include <linux/vmalloc.h> #include <linux/interrupt.h> #include <linux/bitops.h>
drivers/base/memory.c +1 -0
@@ -22,6 +22,7 @@#include <linux/mm.h> #include <linux/mutex.h> #include <linux/stat.h> +#include <linux/slab.h> #include <asm/atomic.h> #include <asm/uaccess.h>
drivers/base/module.c +1 -0
@@ -8,6 +8,7 @@#include <linux/module.h> #include <linux/errno.h> #include <linux/string.h> +#include <linux/slab.h> #include "base.h" static char *make_driver_name (struct device_driver *drv)
drivers/block/brd.c +1 -0
@@ -18,6 +18,7 @@#include <linux/gfp.h> #include <linux/radix-tree.h> #include <linux/buffer_head.h> /* invalidate_bh_lrus() */ +#include <linux/slab.h> #include <asm/uaccess.h>
drivers/block/osdblk.c +1 -0
@@ -63,6 +63,7 @@#include <linux/device.h> #include <linux/module.h> #include <linux/fs.h> +#include <linux/slab.h> #include <scsi/osd_initiator.h> #include <scsi/osd_attributes.h> #include <scsi/osd_sec.h>
drivers/block/ub.c +1 -0
@@ -27,6 +27,7 @@#include <linux/blkdev.h> #include <linux/timer.h> #include <linux/scatterlist.h> +#include <linux/slab.h> #include <scsi/scsi.h> #define DRV_NAME "ub"
drivers/block/virtio_blk.c +1 -0
@@ -5,6 +5,7 @@#include <linux/virtio.h> #include <linux/virtio_blk.h> #include <linux/scatterlist.h> +#include <linux/slab.h> #define PART_BITS 4
drivers/block/xen-blkfront.c +1 -0
@@ -41,6 +41,7 @@#include <linux/cdrom.h> #include <linux/module.h> #include <linux/scatterlist.h> +#include <linux/slab.h> #include <xen/xen.h> #include <xen/xenbus.h>
drivers/char/hvc_console.c +1 -0
@@ -38,6 +38,7 @@#include <linux/spinlock.h> #include <linux/delay.h> #include <linux/freezer.h> +#include <linux/slab.h> #include <asm/uaccess.h>
drivers/char/pty.c +1 -0
@@ -29,6 +29,7 @@#include <linux/uaccess.h> #include <linux/bitops.h> #include <linux/devpts_fs.h> +#include <linux/slab.h> #include <asm/system.h>
drivers/char/tpm/tpm.c +1 -0
@@ -26,6 +26,7 @@#include <linux/poll.h> #include <linux/mutex.h> #include <linux/spinlock.h> +#include <linux/slab.h> #include "tpm.h"
drivers/char/tpm/tpm_nsc.c +1 -0
@@ -20,6 +20,7 @@*/ #include <linux/platform_device.h> +#include <linux/slab.h> #include "tpm.h" /* National definitions */
drivers/char/tpm/tpm_tis.c +1 -0
@@ -24,6 +24,7 @@#include <linux/pnp.h> #include <linux/interrupt.h> #include <linux/wait.h> +#include <linux/slab.h> #include "tpm.h" #define TPM_HEADER_SIZE 10
drivers/char/tty_audit.c +1 -0
@@ -9,6 +9,7 @@* Authors: Miloslav Trmac <[email protected]> */ +#include <linux/slab.h> #include <linux/audit.h> #include <linux/tty.h>
drivers/char/virtio_console.c +1 -0
@@ -25,6 +25,7 @@#include <linux/list.h> #include <linux/poll.h> #include <linux/sched.h> +#include <linux/slab.h> #include <linux/spinlock.h> #include <linux/virtio.h> #include <linux/virtio_console.h>
drivers/cpufreq/cpufreq_stats.c +1 -0
@@ -19,6 +19,7 @@#include <linux/kobject.h> #include <linux/spinlock.h> #include <linux/notifier.h> +#include <linux/slab.h> #include <asm/cputime.h> static spinlock_t cpufreq_stats_lock;
drivers/cpuidle/sysfs.c +1 -0
@@ -10,6 +10,7 @@#include <linux/cpuidle.h> #include <linux/sysfs.h> #include <linux/cpu.h> +#include <linux/slab.h> #include "cpuidle.h"
drivers/dma/dmaengine.c +1 -0
@@ -58,6 +58,7 @@#include <linux/jiffies.h> #include <linux/rculist.h> #include <linux/idr.h> +#include <linux/slab.h> static DEFINE_MUTEX (dma_list_mutex);static LIST_HEAD (dma_device_list);
drivers/dma/dmatest.c +1 -0
@@ -15,6 +15,7 @@#include <linux/moduleparam.h> #include <linux/random.h> #include <linux/wait.h> +#include <linux/slab.h> static unsigned int test_buf_size =16384 ;module_param (test_buf_size, uint,S_IRUGO );
drivers/firmware/dell_rbu.c +1 -0
@@ -44,6 +44,7 @@#include <linux/moduleparam.h> #include <linux/firmware.h> #include <linux/dma-mapping.h> +#include <linux/slab.h> MODULE_AUTHOR ("Abhay Salunke <[email protected]>" );MODULE_DESCRIPTION ("Driver for updating BIOS image on DELL systems" );
drivers/firmware/dmi-id.c +1 -0
@@ -11,6 +11,7 @@#include <linux/init.h> #include <linux/dmi.h> #include <linux/device.h> +#include <linux/slab.h> struct dmi_device_attribute {struct device_attribute dev_attr;
drivers/firmware/memmap.c +1 -0
@@ -20,6 +20,7 @@#include <linux/module.h> #include <linux/types.h> #include <linux/bootmem.h> +#include <linux/slab.h> /* * Data types ------------------------------------------------------------------
drivers/gpio/adp5588-gpio.c +1 -0
@@ -12,6 +12,7 @@#include <linux/init.h> #include <linux/i2c.h> #include <linux/gpio.h> +#include <linux/slab.h> #include <linux/i2c/adp5588.h>
drivers/gpio/gpiolib.c +1 -0
@@ -9,6 +9,7 @@#include <linux/seq_file.h> #include <linux/gpio.h> #include <linux/idr.h> +#include <linux/slab.h> /* Optional implementation infrastructure for GPIO interfaces.
drivers/gpio/max7300.c +1 -0
@@ -15,6 +15,7 @@#include <linux/platform_device.h> #include <linux/mutex.h> #include <linux/i2c.h> +#include <linux/slab.h> #include <linux/spi/max7301.h> static int max7300_i2c_write(struct device *dev, unsigned int reg,
drivers/gpio/max730x.c +1 -0
@@ -38,6 +38,7 @@#include <linux/mutex.h> #include <linux/spi/max7301.h> #include <linux/gpio.h> +#include <linux/slab.h> /* * Pin configurations, see MAX7301 datasheet page 6
drivers/gpio/pca953x.c +1 -0
@@ -16,6 +16,7 @@#include <linux/gpio.h> #include <linux/interrupt.h> #include <linux/irq.h> +#include <linux/slab.h> #include <linux/i2c.h> #include <linux/i2c/pca953x.h> #ifdef CONFIG_OF_GPIO
drivers/gpio/timbgpio.c +1 -0
@@ -27,6 +27,7 @@#include <linux/io.h> #include <linux/timb_gpio.h> #include <linux/interrupt.h> +#include <linux/slab.h> #define DRIVER_NAME "timb-gpio"
drivers/gpio/wm8994-gpio.c +1 -0
@@ -18,6 +18,7 @@#include <linux/mfd/core.h> #include <linux/platform_device.h> #include <linux/seq_file.h> +#include <linux/slab.h> #include <linux/mfd/wm8994/core.h> #include <linux/mfd/wm8994/pdata.h>
drivers/gpu/drm/ttm/ttm_agp_backend.c +1 -0
@@ -36,6 +36,7 @@#include <linux/agp_backend.h> #include <linux/module.h> #include <linux/io.h> +#include <linux/slab.h> #include <asm/agp.h> struct ttm_agp_backend {
drivers/gpu/drm/ttm/ttm_bo_util.c +1 -0
@@ -35,6 +35,7 @@#include <linux/wait.h> #include <linux/vmalloc.h> #include <linux/module.h> +#include <linux/slab.h> void ttm_bo_free_old_node (struct ttm_buffer_object *bo) {
drivers/gpu/drm/ttm/ttm_memory.c +1 -0
@@ -32,6 +32,7 @@#include <linux/wait.h> #include <linux/mm.h> #include <linux/module.h> +#include <linux/slab.h> #define TTM_MEMORY_ALLOC_RETRIES 4
drivers/gpu/drm/ttm/ttm_tt.c +1 -0
@@ -34,6 +34,7 @@#include <linux/pagemap.h> #include <linux/file.h> #include <linux/swap.h> +#include <linux/slab.h> #include "drm_cache.h" #include "ttm/ttm_module.h" #include "ttm/ttm_bo_driver.h"
drivers/hwmon/ad7414.c +1 -0
@@ -27,6 +27,7 @@#include <linux/err.h> #include <linux/mutex.h> #include <linux/sysfs.h> +#include <linux/slab.h> /* AD7414 registers */
drivers/hwmon/ad7418.c +1 -0
@@ -20,6 +20,7 @@#include <linux/err.h> #include <linux/mutex.h> #include <linux/delay.h> +#include <linux/slab.h> #include "lm75.h"
drivers/hwmon/adt7411.c +1 -0
@@ -18,6 +18,7 @@#include <linux/delay.h> #include <linux/mutex.h> #include <linux/jiffies.h> +#include <linux/slab.h> #include <linux/i2c.h> #include <linux/hwmon.h> #include <linux/hwmon-sysfs.h>
drivers/hwmon/adt7462.c +1 -0
@@ -28,6 +28,7 @@#include <linux/mutex.h> #include <linux/delay.h> #include <linux/log2.h> +#include <linux/slab.h> /* Addresses to scan */ static const unsigned short normal_i2c[] = {0x58 ,0x5C ,I2C_CLIENT_END };
drivers/hwmon/adt7470.c +1 -0
@@ -29,6 +29,7 @@#include <linux/delay.h> #include <linux/log2.h> #include <linux/kthread.h> +#include <linux/slab.h> /* Addresses to scan */ static const unsigned short normal_i2c[] = {0x2C ,0x2E ,0x2F ,I2C_CLIENT_END };
drivers/hwmon/atxp1.c +1 -0
@@ -28,6 +28,7 @@#include <linux/err.h> #include <linux/mutex.h> #include <linux/sysfs.h> +#include <linux/slab.h> MODULE_LICENSE ("GPL" );MODULE_DESCRIPTION ("System voltages control via Attansic ATXP1" );
drivers/hwmon/f75375s.c +1 -0
@@ -34,6 +34,7 @@#include <linux/i2c.h> #include <linux/err.h> #include <linux/mutex.h> +#include <linux/slab.h> #include <linux/f75375s.h> /* Addresses to scan */
drivers/hwmon/mc13783-adc.c +1 -0
@@ -26,6 +26,7 @@#include <linux/hwmon.h> #include <linux/init.h> #include <linux/err.h> +#include <linux/slab.h> #define MC13783_ADC_NAME "mc13783-adc"
drivers/hwmon/sht15.c +1 -0
@@ -34,6 +34,7 @@#include <linux/delay.h> #include <linux/jiffies.h> #include <linux/err.h> +#include <linux/slab.h> #include <linux/sht15.h> #include <linux/regulator/consumer.h> #include <asm/atomic.h>
drivers/i2c/busses/i2c-gpio.c +1 -0
@@ -13,6 +13,7 @@#include <linux/init.h> #include <linux/module.h> #include <linux/platform_device.h> +#include <linux/slab.h> #include <asm/gpio.h>
drivers/i2c/busses/i2c-ocores.c +1 -0
@@ -18,6 +18,7 @@#include <linux/interrupt.h> #include <linux/wait.h> #include <linux/i2c-ocores.h> +#include <linux/slab.h> #include <asm/io.h> struct ocores_i2c {
drivers/i2c/busses/i2c-simtec.c +1 -0
@@ -23,6 +23,7 @@#include <linux/init.h> #include <linux/delay.h> #include <linux/platform_device.h> +#include <linux/slab.h> #include <linux/i2c.h> #include <linux/i2c-algo-bit.h>
drivers/i2c/busses/i2c-tiny-usb.c +1 -0
@@ -14,6 +14,7 @@#include <linux/errno.h> #include <linux/module.h> #include <linux/types.h> +#include <linux/slab.h> /* include interfaces to usb layer */ #include <linux/usb.h>
drivers/i2c/busses/i2c-xiic.c +1 -0
@@ -39,6 +39,7 @@#include <linux/wait.h> #include <linux/i2c-xiic.h> #include <linux/io.h> +#include <linux/slab.h> #define DRIVER_NAME "xiic-i2c"
drivers/i2c/i2c-boardinfo.c +1 -0
@@ -19,6 +19,7 @@#include <linux/kernel.h> #include <linux/i2c.h> #include <linux/rwsem.h> +#include <linux/slab.h> #include "i2c-core.h"
drivers/i2c/i2c-smbus.c +1 -0
@@ -24,6 +24,7 @@#include <linux/device.h> #include <linux/interrupt.h> #include <linux/workqueue.h> +#include <linux/slab.h> #include <linux/i2c.h> #include <linux/i2c-smbus.h>
drivers/infiniband/core/cm.c +1 -0
@@ -45,6 +45,7 @@#include <linux/sysfs.h> #include <linux/workqueue.h> #include <linux/kdev_t.h> +#include <linux/slab.h> #include <rdma/ib_cache.h> #include <rdma/ib_cm.h>
drivers/infiniband/core/mad.c +1 -0
@@ -34,6 +34,7 @@* */ #include <linux/dma-mapping.h> +#include <linux/slab.h> #include <rdma/ib_cache.h> #include "mad_priv.h"
drivers/infiniband/core/mad_priv.h +1 -0
@@ -39,6 +39,7 @@#include <linux/completion.h> #include <linux/err.h> #include <linux/workqueue.h> +#include <linux/slab.h> #include <rdma/ib_mad.h> #include <rdma/ib_smi.h>
drivers/infiniband/core/multicast.c +1 -0
@@ -36,6 +36,7 @@#include <linux/interrupt.h> #include <linux/bitops.h> #include <linux/random.h> +#include <linux/slab.h> #include <rdma/ib_cache.h> #include "sa.h"
drivers/infiniband/core/ucm.c +1 -0
@@ -44,6 +44,7 @@#include <linux/cdev.h> #include <linux/idr.h> #include <linux/mutex.h> +#include <linux/slab.h> #include <asm/uaccess.h>
drivers/infiniband/core/user_mad.c +1 -0
@@ -46,6 +46,7 @@#include <linux/compat.h> #include <linux/sched.h> #include <linux/semaphore.h> +#include <linux/slab.h> #include <asm/uaccess.h>
drivers/infiniband/core/uverbs_cmd.c +1 -0
@@ -35,6 +35,7 @@#include <linux/file.h> #include <linux/fs.h> +#include <linux/slab.h> #include <asm/uaccess.h>
drivers/infiniband/core/uverbs_main.c +1 -0
@@ -44,6 +44,7 @@#include <linux/file.h> #include <linux/cdev.h> #include <linux/anon_inodes.h> +#include <linux/slab.h> #include <asm/uaccess.h>
drivers/input/ff-core.c +1 -0
@@ -29,6 +29,7 @@#include <linux/module.h> #include <linux/mutex.h> #include <linux/sched.h> +#include <linux/slab.h> /* * Check that the effect_id is a valid effect and whether the user
drivers/input/ff-memless.c +1 -0
@@ -30,6 +30,7 @@#include <linux/mutex.h> #include <linux/spinlock.h> #include <linux/jiffies.h> +#include <linux/slab.h> #include "fixp-arith.h"
drivers/input/input-polldev.c +1 -0
@@ -11,6 +11,7 @@#include <linux/jiffies.h> #include <linux/mutex.h> #include <linux/input-polldev.h> +#include <linux/slab.h> MODULE_AUTHOR ("Dmitry Torokhov <[email protected]>" );MODULE_DESCRIPTION ("Generic implementation of a polled input device" );
drivers/input/keyboard/adp5588-keys.c +1 -0
@@ -19,6 +19,7 @@#include <linux/platform_device.h> #include <linux/input.h> #include <linux/i2c.h> +#include <linux/slab.h> #include <linux/i2c/adp5588.h>
drivers/input/keyboard/lm8323.c +1 -0
@@ -30,6 +30,7 @@#include <linux/delay.h> #include <linux/input.h> #include <linux/leds.h> +#include <linux/slab.h> #include <linux/i2c/lm8323.h> /* Commands to send to the chip. */
drivers/input/keyboard/matrix_keypad.c +1 -0
@@ -21,6 +21,7 @@#include <linux/jiffies.h> #include <linux/module.h> #include <linux/gpio.h> +#include <linux/slab.h> #include <linux/input/matrix_keypad.h> struct matrix_keypad {
drivers/input/keyboard/max7359_keypad.c +1 -0
@@ -16,6 +16,7 @@#include <linux/module.h> #include <linux/i2c.h> #include <linux/interrupt.h> +#include <linux/slab.h> #include <linux/input.h> #include <linux/input/matrix_keypad.h>
drivers/input/keyboard/opencores-kbd.c +1 -0
@@ -14,6 +14,7 @@#include <linux/kernel.h> #include <linux/module.h> #include <linux/platform_device.h> +#include <linux/slab.h> struct opencores_kbd {struct input_dev *input;
drivers/input/misc/ati_remote2.c +1 -0
@@ -9,6 +9,7 @@* as published by the Free Software Foundation. */ +#include <linux/slab.h> #include <linux/usb/input.h> #define DRIVER_DESC "ATI/Philips USB RF remote driver"
drivers/input/misc/pcap_keys.c +1 -0
@@ -15,6 +15,7 @@#include <linux/init.h> #include <linux/interrupt.h> #include <linux/platform_device.h> +#include <linux/slab.h> #include <linux/input.h> #include <linux/mfd/ezx-pcap.h>
drivers/input/misc/pcf50633-input.c +1 -0
@@ -19,6 +19,7 @@#include <linux/init.h> #include <linux/device.h> #include <linux/platform_device.h> +#include <linux/slab.h> #include <linux/input.h> #include <linux/mfd/pcf50633/core.h>
drivers/input/misc/rotary_encoder.c +1 -0
@@ -21,6 +21,7 @@#include <linux/device.h> #include <linux/platform_device.h> #include <linux/gpio.h> +#include <linux/slab.h> #include <linux/rotary_encoder.h> #define DRV_NAME "rotary-encoder"
drivers/input/misc/winbond-cir.c +1 -0
@@ -56,6 +56,7 @@#include <linux/io.h> #include <linux/bitrev.h> #include <linux/bitops.h> +#include <linux/slab.h> #define DRVNAME "winbond-cir"
drivers/input/mouse/alps.c +1 -0
@@ -18,6 +18,7 @@#include <linux/input.h> #include <linux/serio.h> #include <linux/libps2.h> +#include <linux/slab.h> #include "psmouse.h" #include "alps.h"
drivers/input/mouse/elantech.c +1 -0
@@ -15,6 +15,7 @@#include <linux/input.h> #include <linux/serio.h> #include <linux/libps2.h> +#include <linux/slab.h> #include "psmouse.h" #include "elantech.h"
drivers/input/mouse/lifebook.c +1 -0
@@ -16,6 +16,7 @@#include <linux/serio.h> #include <linux/libps2.h> #include <linux/dmi.h> +#include <linux/slab.h> #include "psmouse.h" #include "lifebook.h"
drivers/input/mouse/sentelic.c +1 -0
@@ -26,6 +26,7 @@#include <linux/libps2.h> #include <linux/serio.h> #include <linux/jiffies.h> +#include <linux/slab.h> #include "psmouse.h" #include "sentelic.h"
drivers/input/mouse/synaptics.c +1 -0
@@ -28,6 +28,7 @@#include <linux/input.h> #include <linux/serio.h> #include <linux/libps2.h> +#include <linux/slab.h> #include "psmouse.h" #include "synaptics.h"
drivers/input/mouse/synaptics_i2c.c +1 -0
@@ -17,6 +17,7 @@#include <linux/input.h> #include <linux/delay.h> #include <linux/workqueue.h> +#include <linux/slab.h> #define DRIVER_NAME "synaptics_i2c"/* maximum product id is 15 characters */
drivers/input/serio/altera_ps2.c +1 -0
@@ -18,6 +18,7 @@#include <linux/interrupt.h> #include <linux/platform_device.h> #include <linux/io.h> +#include <linux/slab.h> #define DRV_NAME "altera_ps2"
drivers/input/serio/ct82c710.c +1 -0
@@ -35,6 +35,7 @@#include <linux/errno.h> #include <linux/err.h> #include <linux/platform_device.h> +#include <linux/slab.h> #include <asm/io.h>
drivers/input/serio/i8042.c +1 -0
@@ -21,6 +21,7 @@#include <linux/rcupdate.h> #include <linux/platform_device.h> #include <linux/i8042.h> +#include <linux/slab.h> #include <asm/io.h>
drivers/input/sparse-keymap.c +1 -0
@@ -13,6 +13,7 @@* the Free Software Foundation. */ +#include <linux/slab.h> #include <linux/input.h> #include <linux/input/sparse-keymap.h>
drivers/input/touchscreen/eeti_ts.c +1 -0
@@ -32,6 +32,7 @@#include <linux/i2c.h> #include <linux/timer.h> #include <linux/gpio.h> +#include <linux/slab.h> #include <linux/input/eeti_ts.h> static int flip_x;
drivers/input/touchscreen/mc13783_ts.c +1 -0
@@ -18,6 +18,7 @@#include <linux/input.h> #include <linux/sched.h> #include <linux/init.h> +#include <linux/slab.h> #define MC13783_TS_NAME "mc13783-ts"
drivers/input/touchscreen/mcs5000_ts.c +1 -0
@@ -20,6 +20,7 @@#include <linux/interrupt.h> #include <linux/input.h> #include <linux/irq.h> +#include <linux/slab.h> /* Registers */ #define MCS5000_TS_STATUS 0x00
drivers/input/touchscreen/pcap_ts.c +1 -0
@@ -19,6 +19,7 @@#include <linux/interrupt.h> #include <linux/platform_device.h> #include <linux/input.h> +#include <linux/slab.h> #include <linux/mfd/ezx-pcap.h> struct pcap_ts {
drivers/input/xen-kbdfront.c +1 -0
@@ -20,6 +20,7 @@#include <linux/kernel.h> #include <linux/errno.h> #include <linux/module.h> +#include <linux/slab.h> #include <linux/input.h> #include <asm/xen/hypervisor.h>
drivers/isdn/capi/capifs.c +1 -0
@@ -16,6 +16,7 @@#include <linux/init.h> #include <linux/ctype.h> #include <linux/sched.h> /* current */ +#include <linux/slab.h> #include "capifs.h"
drivers/isdn/capi/capiutil.c +1 -0
@@ -17,6 +17,7 @@#include <linux/kernel.h> #include <linux/mm.h> #include <linux/init.h> +#include <linux/slab.h> #include <linux/isdn/capiutil.h> /* from CAPI2.0 DDK AVM Berlin GmbH */
drivers/isdn/hardware/mISDN/hfcpci.c +1 -0
@@ -47,6 +47,7 @@#include <linux/module.h> #include <linux/pci.h> #include <linux/delay.h> +#include <linux/slab.h> #include <linux/mISDNhw.h> #include "hfc_pci.h"
drivers/leds/led-triggers.c +1 -0
@@ -21,6 +21,7 @@#include <linux/timer.h> #include <linux/rwsem.h> #include <linux/leds.h> +#include <linux/slab.h> #include "leds.h" /*
drivers/leds/leds-bd2802.c +1 -0
@@ -16,6 +16,7 @@#include <linux/i2c.h> #include <linux/gpio.h> #include <linux/delay.h> +#include <linux/slab.h> #include <linux/leds.h> #include <linux/leds-bd2802.h>
drivers/leds/leds-gpio.c +1 -0
@@ -15,6 +15,7 @@#include <linux/platform_device.h> #include <linux/leds.h> #include <linux/workqueue.h> +#include <linux/slab.h> #include <asm/gpio.h>
drivers/leds/leds-lp3944.c +1 -0
@@ -31,6 +31,7 @@#include <linux/leds.h> #include <linux/mutex.h> #include <linux/workqueue.h> +#include <linux/slab.h> #include <linux/leds-lp3944.h> /* Read Only Registers */
drivers/leds/leds-lt3593.c +1 -0
@@ -23,6 +23,7 @@#include <linux/workqueue.h> #include <linux/delay.h> #include <linux/gpio.h> +#include <linux/slab.h> struct lt3593_led_data {struct led_classdev cdev;
drivers/leds/leds-pca9532.c +2 -0
@@ -16,7 +16,9 @@#include <linux/leds.h> #include <linux/input.h> #include <linux/mutex.h> +#include <linux/slab.h> #include <linux/workqueue.h> +#include <linux/slab.h> #include <linux/leds-pca9532.h> #define PCA9532_REG_PSC (i) (0x2+(i)*2)
drivers/leds/leds-pca955x.c +1 -0
@@ -48,6 +48,7 @@#include <linux/err.h> #include <linux/i2c.h> #include <linux/workqueue.h> +#include <linux/slab.h> /* LED select registers determine the source that drives LED outputs */ #define PCA955X_LS_LED_ON 0x0/* Output LOW */
drivers/leds/leds-regulator.c +1 -0
@@ -14,6 +14,7 @@#include <linux/module.h> #include <linux/err.h> #include <linux/workqueue.h> +#include <linux/slab.h> #include <linux/leds.h> #include <linux/leds-regulator.h> #include <linux/platform_device.h>
drivers/leds/ledtrig-backlight.c +1 -0
@@ -13,6 +13,7 @@#include <linux/module.h> #include <linux/kernel.h> #include <linux/init.h> +#include <linux/slab.h> #include <linux/fb.h> #include <linux/leds.h> #include "leds.h"
drivers/leds/ledtrig-gpio.c +1 -0
@@ -15,6 +15,7 @@#include <linux/gpio.h> #include <linux/interrupt.h> #include <linux/workqueue.h> +#include <linux/slab.h> #include <linux/leds.h> #include "leds.h"
drivers/leds/ledtrig-heartbeat.c +1 -0
@@ -16,6 +16,7 @@#include <linux/init.h> #include <linux/timer.h> #include <linux/sched.h> +#include <linux/slab.h> #include <linux/leds.h> #include "leds.h"
drivers/leds/ledtrig-timer.c +1 -0
@@ -21,6 +21,7 @@#include <linux/sysdev.h> #include <linux/timer.h> #include <linux/ctype.h> +#include <linux/slab.h> #include <linux/leds.h> #include "leds.h"
drivers/md/dm-log-userspace-base.c +1 -0
@@ -5,6 +5,7 @@*/ #include <linux/bio.h> +#include <linux/slab.h> #include <linux/dm-dirty-log.h> #include <linux/device-mapper.h> #include <linux/dm-log-userspace.h>
drivers/md/dm.h +1 -0
@@ -15,6 +15,7 @@#include <linux/list.h> #include <linux/blkdev.h> #include <linux/hdreg.h> +#include <linux/slab.h> /* * Suspend feature flags
drivers/md/md.h +1 -0
@@ -20,6 +20,7 @@#include <linux/list.h> #include <linux/mm.h> #include <linux/mutex.h> +#include <linux/slab.h> #include <linux/timer.h> #include <linux/wait.h> #include <linux/workqueue.h>
drivers/media/IR/ir-keytable.c +1 -0
@@ -13,6 +13,7 @@*/ +#include <linux/slab.h> #include <linux/input.h> #include <media/ir-common.h>
drivers/media/IR/ir-sysfs.c +1 -0
@@ -14,6 +14,7 @@#include <linux/input.h> #include <linux/device.h> +#include <linux/slab.h> #include <media/ir-core.h> #define IRRCV_NUM_DEVICES 256
drivers/media/common/tuners/mc44s803.c +1 -0
@@ -23,6 +23,7 @@#include <linux/delay.h> #include <linux/dvb/frontend.h> #include <linux/i2c.h> +#include <linux/slab.h> #include "dvb_frontend.h"
drivers/media/common/tuners/mt2060.c +1 -0
@@ -23,6 +23,7 @@#include <linux/module.h> #include <linux/delay.h> +#include <linux/slab.h> #include <linux/dvb/frontend.h> #include <linux/i2c.h>
drivers/media/common/tuners/mt20xx.c +1 -0
@@ -5,6 +5,7 @@* This "mt20xx" module was split apart from the original "tuner" module. */ #include <linux/delay.h> +#include <linux/slab.h> #include <linux/i2c.h> #include <linux/videodev2.h> #include "tuner-i2c.h"
drivers/media/common/tuners/mt2131.c +1 -0
@@ -21,6 +21,7 @@#include <linux/module.h> #include <linux/delay.h> +#include <linux/slab.h> #include <linux/dvb/frontend.h> #include <linux/i2c.h>
drivers/media/common/tuners/mt2266.c +1 -0
@@ -16,6 +16,7 @@#include <linux/module.h> #include <linux/delay.h> +#include <linux/slab.h> #include <linux/dvb/frontend.h> #include <linux/i2c.h>
drivers/media/common/tuners/qt1010.c +2 -0
@@ -18,6 +18,8 @@* along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#include <linux/slab.h> +#include "qt1010.h" #include "qt1010_priv.h"
drivers/media/common/tuners/tda827x.c +1 -0
@@ -19,6 +19,7 @@*/ #include <linux/module.h> +#include <linux/slab.h> #include <asm/types.h> #include <linux/dvb/frontend.h> #include <linux/videodev2.h>
drivers/media/common/tuners/tda8290.c +1 -0
@@ -22,6 +22,7 @@#include <linux/i2c.h> #include <linux/delay.h> +#include <linux/slab.h> #include <linux/videodev2.h> #include "tuner-i2c.h" #include "tda8290.h"
drivers/media/common/tuners/tea5761.c +1 -0
@@ -9,6 +9,7 @@#include <linux/i2c.h> #include <linux/delay.h> +#include <linux/slab.h> #include <linux/videodev2.h> #include <media/tuner.h> #include "tuner-i2c.h"
drivers/media/common/tuners/tea5767.c +1 -0
@@ -11,6 +11,7 @@*/ #include <linux/i2c.h> +#include <linux/slab.h> #include <linux/delay.h> #include <linux/videodev2.h> #include "tuner-i2c.h"
drivers/media/common/tuners/tuner-i2c.h +1 -0
@@ -21,6 +21,7 @@#ifndef __TUNER_I2C_H__#define __TUNER_I2C_H__ +#include <linux/slab.h> #include <linux/i2c.h> struct tuner_i2c_props {
drivers/media/common/tuners/tuner-simple.c +1 -0
@@ -5,6 +5,7 @@* This "tuner-simple" module was split apart from the original "tuner" module. */ #include <linux/delay.h> +#include <linux/slab.h> #include <linux/i2c.h> #include <linux/videodev2.h> #include <media/tuner.h>
drivers/media/common/tuners/tuner-xc2028.c +1 -0
@@ -15,6 +15,7 @@#include <linux/delay.h> #include <media/tuner.h> #include <linux/mutex.h> +#include <linux/slab.h> #include <asm/unaligned.h> #include "tuner-i2c.h" #include "tuner-xc2028.h"
drivers/media/dvb/frontends/atbm8830.c +1 -0
@@ -19,6 +19,7 @@* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#include <linux/slab.h> #include <asm/div64.h> #include "dvb_frontend.h"
drivers/media/dvb/frontends/dib0070.c +1 -0
@@ -26,6 +26,7 @@#include <linux/kernel.h> #include <linux/i2c.h> +#include <linux/slab.h> #include "dvb_frontend.h"
drivers/media/dvb/frontends/dib0090.c +1 -0
@@ -26,6 +26,7 @@#include <linux/kernel.h> #include <linux/i2c.h> +#include <linux/slab.h> #include "dvb_frontend.h"
drivers/media/dvb/frontends/dib3000mc.c +1 -0
@@ -13,6 +13,7 @@#include <linux/kernel.h> #include <linux/i2c.h> +#include <linux/slab.h> #include "dvb_frontend.h"
drivers/media/dvb/frontends/dib7000m.c +1 -0
@@ -10,6 +10,7 @@*/ #include <linux/kernel.h> #include <linux/i2c.h> +#include <linux/slab.h> #include "dvb_frontend.h"
drivers/media/dvb/frontends/dib7000p.c +1 -0
@@ -9,6 +9,7 @@*/ #include <linux/kernel.h> #include <linux/i2c.h> +#include <linux/slab.h> #include "dvb_math.h" #include "dvb_frontend.h"
drivers/media/dvb/frontends/dib8000.c +1 -0
@@ -9,6 +9,7 @@*/ #include <linux/kernel.h> #include <linux/i2c.h> +#include <linux/slab.h> #include "dvb_math.h" #include "dvb_frontend.h"
drivers/media/dvb/frontends/drx397xD.c +1 -0
@@ -26,6 +26,7 @@#include <linux/delay.h> #include <linux/string.h> #include <linux/firmware.h> +#include <linux/slab.h> #include <asm/div64.h> #include "dvb_frontend.h"
drivers/media/dvb/frontends/dvb-pll.c +1 -0
@@ -19,6 +19,7 @@*/ #include <linux/module.h> +#include <linux/slab.h> #include <linux/dvb/frontend.h> #include <asm/types.h>
drivers/media/dvb/frontends/ec100.c +1 -0
@@ -19,6 +19,7 @@* */ +#include <linux/slab.h> #include "dvb_frontend.h" #include "ec100_priv.h" #include "ec100.h"
drivers/media/dvb/frontends/itd1000.c +1 -0
@@ -22,6 +22,7 @@#include <linux/module.h> #include <linux/moduleparam.h> #include <linux/delay.h> +#include <linux/slab.h> #include <linux/dvb/frontend.h> #include <linux/i2c.h>
drivers/media/dvb/frontends/lgdt3304.c +1 -0
@@ -8,6 +8,7 @@#include <linux/kernel.h> #include <linux/module.h> #include <linux/delay.h> +#include <linux/slab.h> #include "dvb_frontend.h" #include "lgdt3304.h"
drivers/media/dvb/frontends/lgdt3305.c +1 -0
@@ -19,6 +19,7 @@* */ +#include <linux/slab.h> #include <asm/div64.h> #include <linux/dvb/frontend.h> #include "dvb_math.h"
drivers/media/dvb/frontends/lgs8gxx.c +1 -0
@@ -23,6 +23,7 @@* */ +#include <linux/slab.h> #include <asm/div64.h> #include "dvb_frontend.h"
drivers/media/dvb/frontends/mb86a16.c +1 -0
@@ -22,6 +22,7 @@#include <linux/kernel.h> #include <linux/module.h> #include <linux/moduleparam.h> +#include <linux/slab.h> #include "dvb_frontend.h" #include "mb86a16.h"
drivers/media/dvb/frontends/s921_module.c +1 -0
@@ -10,6 +10,7 @@#include <linux/kernel.h> #include <linux/module.h> #include <linux/delay.h> +#include <linux/slab.h> #include "dvb_frontend.h" #include "s921_module.h" #include "s921_core.h"
drivers/media/dvb/frontends/stb0899_drv.c +1 -0
@@ -22,6 +22,7 @@#include <linux/init.h> #include <linux/kernel.h> #include <linux/module.h> +#include <linux/slab.h> #include <linux/string.h> #include <linux/dvb/frontend.h>
drivers/media/dvb/frontends/stb6000.c +1 -0
@@ -21,6 +21,7 @@*/ #include <linux/module.h> +#include <linux/slab.h> #include <linux/dvb/frontend.h> #include <asm/types.h>
drivers/media/dvb/frontends/stb6100.c +1 -0
@@ -23,6 +23,7 @@#include <linux/kernel.h> #include <linux/module.h> #include <linux/string.h> +#include <linux/slab.h> #include "dvb_frontend.h" #include "stb6100.h"
drivers/media/dvb/frontends/stv090x.c +1 -0
@@ -24,6 +24,7 @@#include <linux/module.h> #include <linux/string.h> #include <linux/mutex.h> +#include <linux/slab.h> #include <linux/dvb/frontend.h> #include "dvb_frontend.h"
drivers/media/dvb/frontends/stv6110.c +1 -0
@@ -23,6 +23,7 @@*/ #include <linux/module.h> +#include <linux/slab.h> #include <linux/dvb/frontend.h> #include <linux/types.h>
drivers/media/dvb/frontends/stv6110x.c +1 -0
@@ -24,6 +24,7 @@#include <linux/kernel.h> #include <linux/module.h> #include <linux/string.h> +#include <linux/slab.h> #include "dvb_frontend.h"
drivers/media/dvb/frontends/tda665x.c +1 -0
@@ -20,6 +20,7 @@#include <linux/init.h> #include <linux/kernel.h> #include <linux/module.h> +#include <linux/slab.h> #include "dvb_frontend.h" #include "tda665x.h"
drivers/media/dvb/frontends/tda8261.c +1 -0
@@ -21,6 +21,7 @@#include <linux/init.h> #include <linux/kernel.h> #include <linux/module.h> +#include <linux/slab.h> #include "dvb_frontend.h" #include "tda8261.h"
drivers/media/dvb/frontends/tda826x.c +1 -0
@@ -21,6 +21,7 @@*/ #include <linux/module.h> +#include <linux/slab.h> #include <linux/dvb/frontend.h> #include <asm/types.h>
drivers/media/dvb/frontends/tua6100.c +1 -0
@@ -29,6 +29,7 @@*/ #include <linux/module.h> +#include <linux/slab.h> #include <linux/dvb/frontend.h> #include <asm/types.h>
drivers/media/dvb/frontends/zl10036.c +1 -0
@@ -30,6 +30,7 @@#include <linux/module.h> #include <linux/dvb/frontend.h> #include <linux/types.h> +#include <linux/slab.h> #include "zl10036.h"
drivers/media/dvb/siano/smscoreapi.c +1 -0
@@ -28,6 +28,7 @@#include <linux/dma-mapping.h> #include <linux/delay.h> #include <linux/io.h> +#include <linux/slab.h> #include <linux/firmware.h> #include <linux/wait.h>
drivers/media/dvb/siano/smsdvb.c +1 -0
@@ -21,6 +21,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.#include <linux/module.h> #include <linux/init.h> +#include <linux/slab.h> #include "dmxdev.h" #include "dvbdev.h"
drivers/media/dvb/siano/smssdio.c +1 -0
@@ -35,6 +35,7 @@#include <linux/moduleparam.h> #include <linux/firmware.h> #include <linux/delay.h> +#include <linux/slab.h> #include <linux/mmc/card.h> #include <linux/mmc/sdio_func.h> #include <linux/mmc/sdio_ids.h>
drivers/media/dvb/siano/smsusb.c +1 -0
@@ -23,6 +23,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.#include <linux/init.h> #include <linux/usb.h> #include <linux/firmware.h> +#include <linux/slab.h> #include "smscoreapi.h" #include "sms-cards.h"
drivers/media/dvb/ttusb-dec/ttusbdecfe.c +2 -0
@@ -19,6 +19,8 @@* */ +#include <linux/slab.h> +#include "dvb_frontend.h" #include "ttusbdecfe.h"
drivers/media/radio/radio-si4713.c +1 -0
@@ -25,6 +25,7 @@#include <linux/module.h> #include <linux/init.h> #include <linux/platform_device.h> +#include <linux/slab.h> #include <linux/i2c.h> #include <linux/videodev2.h> #include <media/v4l2-device.h>
drivers/media/radio/radio-tea5764.c +1 -0
@@ -36,6 +36,7 @@#include <linux/init.h> /* Initdata */ #include <linux/videodev2.h> /* kernel radio structs */ #include <linux/i2c.h> /* I2C */ +#include <linux/slab.h> #include <media/v4l2-common.h> #include <media/v4l2-ioctl.h> #include <linux/version.h> /* for KERNEL_VERSION MACRO */
drivers/media/radio/radio-timb.c +1 -0
@@ -23,6 +23,7 @@#include <linux/platform_device.h> #include <linux/interrupt.h> #include <linux/i2c.h> +#include <linux/slab.h> #include <media/timb_radio.h> #define DRIVER_NAME "timb-radio"
drivers/media/radio/saa7706h.c +1 -0
@@ -23,6 +23,7 @@#include <linux/kernel.h> #include <linux/interrupt.h> #include <linux/i2c.h> +#include <linux/slab.h> #include <media/v4l2-device.h> #include <media/v4l2-chip-ident.h>
drivers/media/radio/si4713-i2c.c +1 -0
@@ -25,6 +25,7 @@#include <linux/completion.h> #include <linux/delay.h> #include <linux/interrupt.h> +#include <linux/slab.h> #include <linux/i2c.h> #include <media/v4l2-device.h> #include <media/v4l2-ioctl.h>
drivers/media/radio/tef6862.c +1 -0
@@ -21,6 +21,7 @@#include <linux/errno.h> #include <linux/kernel.h> #include <linux/interrupt.h> +#include <linux/slab.h> #include <linux/i2c.h> #include <linux/i2c-id.h> #include <media/v4l2-ioctl.h>
drivers/media/video/adv7170.c +1 -0
@@ -31,6 +31,7 @@#include <linux/module.h> #include <linux/types.h> #include <linux/ioctl.h> +#include <linux/slab.h> #include <asm/uaccess.h> #include <linux/i2c.h> #include <linux/i2c-id.h>
drivers/media/video/adv7175.c +1 -0
@@ -27,6 +27,7 @@#include <linux/module.h> #include <linux/types.h> #include <linux/ioctl.h> +#include <linux/slab.h> #include <asm/uaccess.h> #include <linux/i2c.h> #include <linux/i2c-id.h>
drivers/media/video/bt819.c +1 -0
@@ -32,6 +32,7 @@#include <linux/types.h> #include <linux/ioctl.h> #include <linux/delay.h> +#include <linux/slab.h> #include <linux/i2c.h> #include <linux/i2c-id.h> #include <linux/videodev2.h>
drivers/media/video/bt856.c +1 -0
@@ -31,6 +31,7 @@#include <linux/module.h> #include <linux/types.h> #include <linux/ioctl.h> +#include <linux/slab.h> #include <asm/uaccess.h> #include <linux/i2c.h> #include <linux/i2c-id.h>
drivers/media/video/bt866.c +1 -0
@@ -31,6 +31,7 @@#include <linux/module.h> #include <linux/types.h> #include <linux/ioctl.h> +#include <linux/slab.h> #include <asm/uaccess.h> #include <linux/i2c.h> #include <linux/i2c-id.h>
drivers/media/video/cs5345.c +1 -0
@@ -20,6 +20,7 @@#include <linux/module.h> #include <linux/kernel.h> +#include <linux/slab.h> #include <linux/i2c.h> #include <linux/videodev2.h> #include <media/v4l2-device.h>
drivers/media/video/cs53l32a.c +1 -0
@@ -23,6 +23,7 @@#include <linux/module.h> #include <linux/types.h> #include <linux/ioctl.h> +#include <linux/slab.h> #include <asm/uaccess.h> #include <linux/i2c.h> #include <linux/i2c-id.h>
drivers/media/video/gspca/gspca.h +1 -0
@@ -7,6 +7,7 @@#include <linux/videodev2.h> #include <media/v4l2-common.h> #include <linux/mutex.h> +#include <linux/slab.h> /* compilation option */ #define GSPCA_DEBUG 1
drivers/media/video/ks0127.c +1 -0
@@ -38,6 +38,7 @@#include <linux/delay.h> #include <linux/errno.h> #include <linux/kernel.h> +#include <linux/slab.h> #include <linux/i2c.h> #include <linux/videodev2.h> #include <media/v4l2-device.h>
drivers/media/video/m52790.c +1 -0
@@ -23,6 +23,7 @@#include <linux/module.h> #include <linux/types.h> #include <linux/ioctl.h> +#include <linux/slab.h> #include <asm/uaccess.h> #include <linux/i2c.h> #include <linux/i2c-id.h>
drivers/media/video/mt9v011.c +1 -0
@@ -8,6 +8,7 @@#include <linux/i2c.h> #include <linux/videodev2.h> #include <linux/delay.h> +#include <linux/slab.h> #include <asm/div64.h> #include <media/v4l2-device.h> #include "mt9v011.h"
drivers/media/video/ov7670.c +1 -0
@@ -14,6 +14,7 @@#include <linux/module.h> #include <linux/i2c.h> #include <linux/delay.h> +#include <linux/slab.h> #include <linux/videodev2.h> #include <media/v4l2-device.h> #include <media/v4l2-chip-ident.h>
drivers/media/video/pvrusb2/pvrusb2-v4l2.c +1 -0
@@ -21,6 +21,7 @@#include <linux/kernel.h> #include <linux/version.h> +#include <linux/slab.h> #include "pvrusb2-context.h" #include "pvrusb2-hdw.h" #include "pvrusb2.h"
drivers/media/video/pwc/pwc-ctrl.c +1 -0
@@ -38,6 +38,7 @@/* Control functions for the cam; brightness, contrast, video mode, etc. */ #ifdef __KERNEL__ +#include <linux/slab.h> #include <asm/uaccess.h> #endif #include <asm/errno.h>
drivers/media/video/pwc/pwc-dec1.c +1 -1
@@ -24,7 +24,7 @@*/ - +#include <linux/slab.h> #include "pwc-dec1.h"
drivers/media/video/pwc/pwc-dec23.c +1 -0
@@ -30,6 +30,7 @@#include <media/pwc-ioctl.h> #include <linux/string.h> +#include <linux/slab.h> /* * USE_LOOKUP_TABLE_TO_CLAMP
drivers/media/video/s2255drv.c +1 -0
@@ -49,6 +49,7 @@#include <linux/version.h> #include <linux/mm.h> #include <linux/smp_lock.h> +#include <linux/slab.h> #include <media/videobuf-vmalloc.h> #include <media/v4l2-common.h> #include <media/v4l2-ioctl.h>
drivers/media/video/saa5246a.c +1 -0
@@ -44,6 +44,7 @@#include <linux/init.h> #include <linux/i2c.h> #include <linux/mutex.h> +#include <linux/slab.h> #include <linux/videotext.h> #include <linux/videodev2.h> #include <media/v4l2-device.h>
drivers/media/video/saa5249.c +1 -0
@@ -48,6 +48,7 @@#include <linux/i2c.h> #include <linux/mutex.h> #include <linux/delay.h> +#include <linux/slab.h> #include <linux/videotext.h> #include <linux/videodev2.h> #include <media/v4l2-device.h>
drivers/media/video/saa717x.c +1 -0
@@ -33,6 +33,7 @@#include <linux/module.h> #include <linux/kernel.h> #include <linux/sched.h> +#include <linux/slab.h> #include <linux/videodev2.h> #include <linux/i2c.h>
drivers/media/video/saa7185.c +1 -0
@@ -27,6 +27,7 @@#include <linux/module.h> #include <linux/types.h> #include <linux/ioctl.h> +#include <linux/slab.h> #include <asm/uaccess.h> #include <linux/i2c.h> #include <linux/i2c-id.h>
drivers/media/video/soc_camera.c +1 -0
@@ -24,6 +24,7 @@#include <linux/mutex.h> #include <linux/module.h> #include <linux/platform_device.h> +#include <linux/slab.h> #include <linux/vmalloc.h> #include <media/soc_camera.h>
drivers/media/video/tda9840.c +1 -0
@@ -29,6 +29,7 @@#include <linux/module.h> #include <linux/ioctl.h> #include <linux/i2c.h> +#include <linux/slab.h> #include <media/v4l2-device.h> #include <media/v4l2-chip-ident.h> #include <media/v4l2-i2c-drv.h>
drivers/media/video/tea6415c.c +1 -0
@@ -31,6 +31,7 @@#include <linux/module.h> #include <linux/ioctl.h> #include <linux/i2c.h> +#include <linux/slab.h> #include <media/v4l2-device.h> #include <media/v4l2-chip-ident.h> #include <media/v4l2-i2c-drv.h>
drivers/media/video/tea6420.c +1 -0
@@ -31,6 +31,7 @@#include <linux/module.h> #include <linux/ioctl.h> #include <linux/i2c.h> +#include <linux/slab.h> #include <media/v4l2-device.h> #include <media/v4l2-chip-ident.h> #include <media/v4l2-i2c-drv.h>
drivers/media/video/tlg2300/pd-video.c +1 -0
@@ -4,6 +4,7 @@#include <linux/usb.h> #include <linux/mm.h> #include <linux/sched.h> +#include <linux/slab.h> #include <media/v4l2-ioctl.h> #include <media/v4l2-dev.h>
drivers/media/video/tvp5150.c +1 -0
@@ -8,6 +8,7 @@#include <linux/i2c.h> #include <linux/videodev2.h> #include <linux/delay.h> +#include <linux/slab.h> #include <media/v4l2-device.h> #include <media/tvp5150.h> #include <media/v4l2-i2c-drv.h>
drivers/media/video/upd64031a.c +1 -0
@@ -23,6 +23,7 @@#include <linux/module.h> #include <linux/kernel.h> +#include <linux/slab.h> #include <linux/i2c.h> #include <linux/videodev2.h> #include <media/v4l2-device.h>
drivers/media/video/upd64083.c +1 -0
@@ -24,6 +24,7 @@#include <linux/module.h> #include <linux/kernel.h> #include <linux/i2c.h> +#include <linux/slab.h> #include <linux/videodev2.h> #include <media/v4l2-device.h> #include <media/v4l2-chip-ident.h>
drivers/media/video/usbvideo/quickcam_messenger.c +1 -0
@@ -33,6 +33,7 @@#include <linux/module.h> #include <linux/init.h> #include <linux/input.h> +#include <linux/slab.h> #include <linux/usb/input.h> #include "usbvideo.h"
drivers/media/video/uvc/uvc_ctrl.c +1 -0
@@ -19,6 +19,7 @@#include <linux/videodev2.h> #include <linux/vmalloc.h> #include <linux/wait.h> +#include <linux/slab.h> #include <asm/atomic.h> #include "uvcvideo.h"
drivers/media/video/uvc/uvc_driver.c +1 -0
@@ -30,6 +30,7 @@#include <linux/videodev2.h> #include <linux/vmalloc.h> #include <linux/wait.h> +#include <linux/slab.h> #include <asm/atomic.h> #include <asm/unaligned.h>
drivers/media/video/uvc/uvc_status.c +1 -0
@@ -12,6 +12,7 @@*/ #include <linux/kernel.h> +#include <linux/slab.h> #include <linux/input.h> #include <linux/usb.h> #include <linux/usb/input.h>
drivers/media/video/uvc/uvc_v4l2.c +1 -0
@@ -20,6 +20,7 @@#include <linux/vmalloc.h> #include <linux/mm.h> #include <linux/wait.h> +#include <linux/slab.h> #include <asm/atomic.h> #include <media/v4l2-common.h>
drivers/media/video/uvc/uvc_video.c +1 -0
@@ -18,6 +18,7 @@#include <linux/videodev2.h> #include <linux/vmalloc.h> #include <linux/wait.h> +#include <linux/slab.h> #include <asm/atomic.h> #include <asm/unaligned.h>
drivers/media/video/v4l2-ioctl.c +1 -0
@@ -15,6 +15,7 @@#include <linux/module.h> #include <linux/types.h> #include <linux/kernel.h> +#include <linux/slab.h> #define __OLD_VIDIOC_/* To allow fixing old calls */ #include <linux/videodev.h>
drivers/media/video/vp27smpx.c +1 -0
@@ -24,6 +24,7 @@#include <linux/module.h> #include <linux/types.h> #include <linux/ioctl.h> +#include <linux/slab.h> #include <asm/uaccess.h> #include <linux/i2c.h> #include <linux/i2c-id.h>
drivers/media/video/vpx3220.c +1 -0
@@ -22,6 +22,7 @@#include <linux/init.h> #include <linux/delay.h> #include <linux/types.h> +#include <linux/slab.h> #include <asm/uaccess.h> #include <linux/i2c.h> #include <linux/videodev2.h>
drivers/media/video/wm8739.c +1 -0
@@ -24,6 +24,7 @@#include <linux/module.h> #include <linux/types.h> #include <linux/ioctl.h> +#include <linux/slab.h> #include <asm/uaccess.h> #include <linux/i2c.h> #include <linux/i2c-id.h>
drivers/media/video/wm8775.c +1 -0
@@ -28,6 +28,7 @@#include <linux/module.h> #include <linux/types.h> #include <linux/ioctl.h> +#include <linux/slab.h> #include <asm/uaccess.h> #include <linux/i2c.h> #include <linux/i2c-id.h>
drivers/memstick/core/memstick.c +1 -0
@@ -16,6 +16,7 @@#include <linux/idr.h> #include <linux/fs.h> #include <linux/delay.h> +#include <linux/slab.h> #define DRIVER_NAME "memstick"
drivers/memstick/core/mspro_block.c +1 -0
@@ -17,6 +17,7 @@#include <linux/hdreg.h> #include <linux/kthread.h> #include <linux/delay.h> +#include <linux/slab.h> #include <linux/memstick.h> #define DRIVER_NAME "mspro_block"
drivers/mfd/htc-pasic3.c +1 -0
@@ -16,6 +16,7 @@#include <linux/io.h> #include <linux/irq.h> #include <linux/interrupt.h> +#include <linux/slab.h> #include <linux/mfd/core.h> #include <linux/mfd/ds1wm.h> #include <linux/mfd/htc-pasic3.h>
drivers/mfd/pcf50633-adc.c +1 -0
@@ -22,6 +22,7 @@#include <linux/device.h> #include <linux/platform_device.h> #include <linux/completion.h> +#include <linux/slab.h> #include <linux/mfd/pcf50633/core.h> #include <linux/mfd/pcf50633/adc.h>
drivers/mfd/pcf50633-core.c +1 -0
@@ -22,6 +22,7 @@#include <linux/platform_device.h> #include <linux/i2c.h> #include <linux/irq.h> +#include <linux/slab.h> #include <linux/mfd/pcf50633/core.h>
drivers/mfd/ucb1400_core.c +1 -0
@@ -22,6 +22,7 @@#include <linux/module.h> #include <linux/sched.h> +#include <linux/slab.h> #include <linux/ucb1400.h> unsigned int ucb1400_adc_read(struct snd_ac97 *ac97, u16 adc_channel,
drivers/mfd/wm8400-core.c +1 -0
@@ -15,6 +15,7 @@#include <linux/bug.h> #include <linux/i2c.h> #include <linux/kernel.h> +#include <linux/slab.h> #include <linux/mfd/core.h> #include <linux/mfd/wm8400-private.h> #include <linux/mfd/wm8400-audio.h>
drivers/mfd/wm8994-core.c +1 -0
@@ -16,6 +16,7 @@#include <linux/module.h> #include <linux/i2c.h> #include <linux/delay.h> +#include <linux/slab.h> #include <linux/mfd/core.h> #include <linux/regulator/consumer.h> #include <linux/regulator/machine.h>
drivers/misc/c2port/core.c +1 -0
@@ -20,6 +20,7 @@#include <linux/delay.h> #include <linux/idr.h> #include <linux/sched.h> +#include <linux/slab.h> #include <linux/c2port.h>
drivers/misc/enclosure.c +1 -0
@@ -27,6 +27,7 @@#include <linux/kernel.h> #include <linux/module.h> #include <linux/mutex.h> +#include <linux/slab.h> static LIST_HEAD (container_list);static DEFINE_MUTEX (container_list_lock);
drivers/misc/ics932s401.c +1 -0
@@ -26,6 +26,7 @@#include <linux/mutex.h> #include <linux/delay.h> #include <linux/log2.h> +#include <linux/slab.h> /* Addresses to scan */ static const unsigned short normal_i2c[] = {0x69 ,I2C_CLIENT_END };
drivers/misc/iwmc3200top/debugfs.c +1 -0
@@ -27,6 +27,7 @@#include <linux/kernel.h> #include <linux/string.h> #include <linux/ctype.h> +#include <linux/slab.h> #include <linux/mmc/sdio_func.h> #include <linux/mmc/sdio.h> #include <linux/debugfs.h>
drivers/misc/iwmc3200top/fw-download.c +1 -0
@@ -24,6 +24,7 @@* */ +#include <linux/slab.h> #include <linux/firmware.h> #include <linux/mmc/sdio_func.h> #include <asm/unaligned.h>
drivers/misc/iwmc3200top/log.c +1 -0
@@ -27,6 +27,7 @@#include <linux/kernel.h> #include <linux/mmc/sdio_func.h> #include <linux/ctype.h> +#include <linux/slab.h> #include "fw-msg.h" #include "iwmc3200top.h" #include "log.h"
drivers/misc/iwmc3200top/main.c +1 -0
@@ -28,6 +28,7 @@#include <linux/init.h> #include <linux/kernel.h> #include <linux/debugfs.h> +#include <linux/slab.h> #include <linux/mmc/sdio_ids.h> #include <linux/mmc/sdio_func.h> #include <linux/mmc/sdio.h>
drivers/misc/lkdtm.c +1 -0
@@ -40,6 +40,7 @@#include <linux/init.h> #include <linux/interrupt.h> #include <linux/hrtimer.h> +#include <linux/slab.h> #include <scsi/scsi_cmnd.h> #include <linux/debugfs.h>
drivers/misc/sgi-xp/xpc_main.c +1 -0
@@ -50,6 +50,7 @@#include <linux/reboot.h> #include <linux/kdebug.h> #include <linux/kthread.h> +#include <linux/slab.h> #include "xpc.h" /* define two XPC debug device structures to be used with dev_dbg() et al */
drivers/misc/sgi-xp/xpc_partition.c +1 -0
@@ -17,6 +17,7 @@#include <linux/device.h> #include <linux/hardirq.h> +#include <linux/slab.h> #include "xpc.h" #include <asm/uv/uv_hub.h>
drivers/misc/sgi-xp/xpc_uv.c +1 -0
@@ -19,6 +19,7 @@#include <linux/delay.h> #include <linux/device.h> #include <linux/err.h> +#include <linux/slab.h> #include <asm/uv/uv_hub.h> #if definedCONFIG_X86_64 #include <asm/uv/bios.h>
drivers/mmc/card/block.c +1 -0
@@ -30,6 +30,7 @@#include <linux/mutex.h> #include <linux/scatterlist.h> #include <linux/string_helpers.h> +#include <linux/slab.h> #include <linux/mmc/card.h> #include <linux/mmc/host.h>
drivers/mmc/card/mmc_test.c +1 -0
@@ -15,6 +15,7 @@#include <linux/mmc/mmc.h> #include <linux/scatterlist.h> +#include <linux/slab.h> #define RESULT_OK 0#define RESULT_FAIL 1
drivers/mmc/card/queue.c +1 -0
@@ -14,6 +14,7 @@#include <linux/freezer.h> #include <linux/kthread.h> #include <linux/scatterlist.h> +#include <linux/slab.h> #include <linux/mmc/card.h> #include <linux/mmc/host.h>
drivers/mmc/card/sdio_uart.c +1 -0
@@ -33,6 +33,7 @@#include <linux/mutex.h> #include <linux/seq_file.h> #include <linux/serial_reg.h> +#include <linux/slab.h> #include <linux/circ_buf.h> #include <linux/gfp.h> #include <linux/tty.h>
drivers/mmc/core/bus.c +1 -0
@@ -13,6 +13,7 @@#include <linux/device.h> #include <linux/err.h> +#include <linux/slab.h> #include <linux/mmc/card.h> #include <linux/mmc/host.h>
drivers/mmc/core/debugfs.c +1 -0
@@ -11,6 +11,7 @@#include <linux/fs.h> #include <linux/seq_file.h> #include <linux/stat.h> +#include <linux/slab.h> #include <linux/mmc/card.h> #include <linux/mmc/host.h>
drivers/mmc/core/host.c +1 -0
@@ -16,6 +16,7 @@#include <linux/idr.h> #include <linux/pagemap.h> #include <linux/leds.h> +#include <linux/slab.h> #include <linux/mmc/host.h>
drivers/mmc/core/mmc.c +1 -0
@@ -11,6 +11,7 @@*/ #include <linux/err.h> +#include <linux/slab.h> #include <linux/mmc/host.h> #include <linux/mmc/card.h>
drivers/mmc/core/mmc_ops.c +1 -0
@@ -11,6 +11,7 @@#include <linux/types.h> #include <linux/scatterlist.h> +#include <linux/slab.h> #include <linux/mmc/host.h> #include <linux/mmc/card.h>
drivers/mmc/core/sd.c +1 -0
@@ -11,6 +11,7 @@*/ #include <linux/err.h> +#include <linux/slab.h> #include <linux/mmc/host.h> #include <linux/mmc/card.h>
drivers/mmc/core/sdio_bus.c +1 -0
@@ -13,6 +13,7 @@#include <linux/device.h> #include <linux/err.h> +#include <linux/slab.h> #include <linux/mmc/card.h> #include <linux/mmc/sdio_func.h>
drivers/mmc/core/sdio_cis.c +1 -0
@@ -14,6 +14,7 @@*/ #include <linux/kernel.h> +#include <linux/slab.h> #include <linux/mmc/host.h> #include <linux/mmc/card.h>
drivers/mmc/host/sdhci.c +1 -0
@@ -18,6 +18,7 @@#include <linux/io.h> #include <linux/dma-mapping.h> #include <linux/scatterlist.h> +#include <linux/slab.h> #include <linux/leds.h>
drivers/mmc/host/wbsd.c +1 -0
@@ -34,6 +34,7 @@#include <linux/highmem.h> #include <linux/mmc/host.h> #include <linux/scatterlist.h> +#include <linux/slab.h> #include <asm/io.h> #include <asm/dma.h>
drivers/mtd/devices/block2mtd.c +1 -0
@@ -17,6 +17,7 @@#include <linux/buffer_head.h> #include <linux/mutex.h> #include <linux/mount.h> +#include <linux/slab.h> #define ERROR(fmt, args...) printk(KERN_ERR "block2mtd: " fmt "\n" , ## args) #define INFO(fmt, args...) printk(KERN_INFO "block2mtd: " fmt "\n" , ## args)
drivers/mtd/lpddr/lpddr_cmds.c +1 -0
@@ -24,6 +24,7 @@* Implement XIP support * Implement OTP support */ +#include <linux/slab.h> #include <linux/mtd/pfow.h> #include <linux/mtd/qinfo.h>
drivers/mtd/maps/gpio-addr-flash.c +1 -0
@@ -18,6 +18,7 @@#include <linux/io.h> #include <linux/kernel.h> #include <linux/module.h> +#include <linux/slab.h> #include <linux/mtd/mtd.h> #include <linux/mtd/map.h> #include <linux/mtd/partitions.h>
drivers/mtd/nand/diskonchip.c +1 -0
@@ -23,6 +23,7 @@#include <linux/delay.h> #include <linux/rslib.h> #include <linux/moduleparam.h> +#include <linux/slab.h> #include <asm/io.h> #include <linux/mtd/mtd.h>
drivers/mtd/onenand/onenand_base.c +1 -0
@@ -28,6 +28,7 @@#include <linux/delay.h> #include <linux/interrupt.h> #include <linux/jiffies.h> +#include <linux/slab.h> #include <linux/mtd/mtd.h> #include <linux/mtd/onenand.h> #include <linux/mtd/partitions.h>
drivers/mtd/onenand/onenand_sim.c +1 -0
@@ -18,6 +18,7 @@#include <linux/kernel.h> #include <linux/module.h> #include <linux/init.h> +#include <linux/slab.h> #include <linux/vmalloc.h> #include <linux/mtd/mtd.h> #include <linux/mtd/partitions.h>
drivers/mtd/tests/mtd_oobtest.c +1 -0
@@ -26,6 +26,7 @@#include <linux/err.h> #include <linux/mtd/mtd.h> #include <linux/sched.h> +#include <linux/slab.h> #define PRINT_PREF KERN_INFO "mtd_oobtest: "
drivers/mtd/tests/mtd_pagetest.c +1 -0
@@ -26,6 +26,7 @@#include <linux/err.h> #include <linux/mtd/mtd.h> #include <linux/sched.h> +#include <linux/slab.h> #define PRINT_PREF KERN_INFO "mtd_pagetest: "
drivers/mtd/tests/mtd_readtest.c +1 -0
@@ -25,6 +25,7 @@#include <linux/err.h> #include <linux/mtd/mtd.h> #include <linux/sched.h> +#include <linux/slab.h> #define PRINT_PREF KERN_INFO "mtd_readtest: "
drivers/mtd/tests/mtd_speedtest.c +1 -0
@@ -25,6 +25,7 @@#include <linux/err.h> #include <linux/mtd/mtd.h> #include <linux/sched.h> +#include <linux/slab.h> #define PRINT_PREF KERN_INFO "mtd_speedtest: "
drivers/mtd/tests/mtd_stresstest.c +1 -0
@@ -25,6 +25,7 @@#include <linux/err.h> #include <linux/mtd/mtd.h> #include <linux/sched.h> +#include <linux/slab.h> #include <linux/vmalloc.h> #define PRINT_PREF KERN_INFO "mtd_stresstest: "
drivers/mtd/tests/mtd_subpagetest.c +1 -0
@@ -25,6 +25,7 @@#include <linux/err.h> #include <linux/mtd/mtd.h> #include <linux/sched.h> +#include <linux/slab.h> #define PRINT_PREF KERN_INFO "mtd_subpagetest: "
drivers/mtd/tests/mtd_torturetest.c +1 -0
@@ -29,6 +29,7 @@#include <linux/err.h> #include <linux/mtd/mtd.h> #include <linux/sched.h> +#include <linux/slab.h> #define PRINT_PREF KERN_INFO "mtd_torturetest: "#define RETRIES 3
drivers/mtd/ubi/gluebi.c +1 -0
@@ -35,6 +35,7 @@#include <linux/math64.h> #include <linux/module.h> #include <linux/mutex.h> +#include <linux/slab.h> #include <linux/mtd/ubi.h> #include <linux/mtd/mtd.h> #include "ubi-media.h"
drivers/mtd/ubi/ubi.h +1 -0
@@ -35,6 +35,7 @@#include <linux/cdev.h> #include <linux/device.h> #include <linux/string.h> +#include <linux/slab.h> #include <linux/vmalloc.h> #include <linux/notifier.h> #include <linux/mtd/mtd.h>
drivers/net/phy/fixed.c +1 -0
@@ -20,6 +20,7 @@#include <linux/phy.h> #include <linux/phy_fixed.h> #include <linux/err.h> +#include <linux/slab.h> #define MII_REGS_NUM 29
drivers/power/bq27x00_battery.c +1 -0
@@ -23,6 +23,7 @@#include <linux/platform_device.h> #include <linux/power_supply.h> #include <linux/idr.h> +#include <linux/slab.h> #include <linux/i2c.h> #include <asm/unaligned.h>
drivers/power/ds2760_battery.c +1 -0
@@ -23,6 +23,7 @@#include <linux/param.h> #include <linux/jiffies.h> #include <linux/workqueue.h> +#include <linux/slab.h> #include <linux/pm.h> #include <linux/platform_device.h> #include <linux/power_supply.h>
drivers/power/ds2782_battery.c +1 -0
@@ -18,6 +18,7 @@#include <linux/swab.h> #include <linux/i2c.h> #include <linux/idr.h> +#include <linux/slab.h> #include <linux/power_supply.h> #define DS2782_REG_RARC 0x06/* Remaining active relative capacity */
drivers/power/max17040_battery.c +1 -0
@@ -17,6 +17,7 @@#include <linux/err.h> #include <linux/i2c.h> #include <linux/delay.h> +#include <linux/slab.h> #include <linux/power_supply.h> #include <linux/max17040_battery.h>
drivers/power/pcf50633-charger.c +1 -0
@@ -20,6 +20,7 @@#include <linux/types.h> #include <linux/device.h> #include <linux/sysfs.h> +#include <linux/slab.h> #include <linux/platform_device.h> #include <linux/power_supply.h>
drivers/power/power_supply_leds.c +1 -0
@@ -11,6 +11,7 @@*/ #include <linux/kernel.h> +#include <linux/slab.h> #include <linux/power_supply.h> #include "power_supply.h"
drivers/power/power_supply_sysfs.c +1 -0
@@ -13,6 +13,7 @@#include <linux/ctype.h> #include <linux/power_supply.h> +#include <linux/slab.h> #include "power_supply.h"
drivers/pps/kapi.c +1 -0
@@ -29,6 +29,7 @@#include <linux/idr.h> #include <linux/fs.h> #include <linux/pps_kernel.h> +#include <linux/slab.h> /* * Global variables
drivers/regulator/core.c +1 -0
@@ -20,6 +20,7 @@#include <linux/mutex.h> #include <linux/suspend.h> #include <linux/delay.h> +#include <linux/slab.h> #include <linux/regulator/consumer.h> #include <linux/regulator/driver.h> #include <linux/regulator/machine.h>
drivers/regulator/fixed.c +1 -0
@@ -25,6 +25,7 @@#include <linux/regulator/fixed.h> #include <linux/gpio.h> #include <linux/delay.h> +#include <linux/slab.h> struct fixed_voltage_data {struct regulator_desc desc;
drivers/regulator/lp3971.c +1 -0
@@ -16,6 +16,7 @@#include <linux/err.h> #include <linux/i2c.h> #include <linux/kernel.h> +#include <linux/slab.h> #include <linux/regulator/driver.h> #include <linux/regulator/lp3971.h>
drivers/regulator/max1586.c +1 -0
@@ -19,6 +19,7 @@*/ #include <linux/module.h> #include <linux/err.h> +#include <linux/slab.h> #include <linux/i2c.h> #include <linux/platform_device.h> #include <linux/regulator/driver.h>
drivers/regulator/max8649.c +1 -0
@@ -11,6 +11,7 @@#include <linux/kernel.h> #include <linux/module.h> #include <linux/err.h> +#include <linux/slab.h> #include <linux/i2c.h> #include <linux/platform_device.h> #include <linux/regulator/driver.h>
drivers/regulator/max8660.c +1 -0
@@ -39,6 +39,7 @@#include <linux/module.h> #include <linux/err.h> +#include <linux/slab.h> #include <linux/i2c.h> #include <linux/platform_device.h> #include <linux/regulator/driver.h>
drivers/regulator/mc13783-regulator.c +1 -0
@@ -16,6 +16,7 @@#include <linux/kernel.h> #include <linux/init.h> #include <linux/err.h> +#include <linux/slab.h> #define MC13783_REG_SWITCHERS5 29#define MC13783_REG_SWITCHERS5_SW3EN (1 << 20)
drivers/regulator/tps65023-regulator.c +1 -0
@@ -24,6 +24,7 @@#include <linux/regulator/machine.h> #include <linux/i2c.h> #include <linux/delay.h> +#include <linux/slab.h> /* Register definitions */ #define TPS65023_REG_VERSION 0
drivers/regulator/tps6507x-regulator.c +1 -0
@@ -24,6 +24,7 @@#include <linux/regulator/machine.h> #include <linux/i2c.h> #include <linux/delay.h> +#include <linux/slab.h> /* Register definitions */ #define TPS6507X_REG_PPATH1 0X01
drivers/regulator/userspace-consumer.c +1 -0
@@ -18,6 +18,7 @@#include <linux/err.h> #include <linux/mutex.h> +#include <linux/slab.h> #include <linux/platform_device.h> #include <linux/regulator/consumer.h> #include <linux/regulator/userspace-consumer.h>
drivers/regulator/virtual.c +1 -0
@@ -13,6 +13,7 @@#include <linux/err.h> #include <linux/mutex.h> +#include <linux/slab.h> #include <linux/platform_device.h> #include <linux/regulator/consumer.h>
drivers/regulator/wm8994-regulator.c +1 -0
@@ -16,6 +16,7 @@#include <linux/init.h> #include <linux/bitops.h> #include <linux/err.h> +#include <linux/slab.h> #include <linux/platform_device.h> #include <linux/regulator/driver.h> #include <linux/gpio.h>
drivers/rtc/class.c +1 -0
@@ -15,6 +15,7 @@#include <linux/rtc.h> #include <linux/kdev_t.h> #include <linux/idr.h> +#include <linux/slab.h> #include "rtc-core.h"
drivers/rtc/rtc-bq4802.c +1 -0
@@ -7,6 +7,7 @@#include <linux/module.h> #include <linux/init.h> #include <linux/io.h> +#include <linux/slab.h> #include <linux/platform_device.h> #include <linux/rtc.h> #include <linux/bcd.h>
drivers/rtc/rtc-ds1286.c +1 -0
@@ -13,6 +13,7 @@*/ #include <linux/module.h> +#include <linux/slab.h> #include <linux/rtc.h> #include <linux/platform_device.h> #include <linux/bcd.h>
drivers/rtc/rtc-ds1374.c +1 -0
@@ -24,6 +24,7 @@#include <linux/rtc.h> #include <linux/bcd.h> #include <linux/workqueue.h> +#include <linux/slab.h> #define DS1374_REG_TOD0 0x00/* Time of Day */ #define DS1374_REG_TOD1 0x01
drivers/rtc/rtc-fm3130.c +1 -0
@@ -10,6 +10,7 @@*/ #include <linux/module.h> +#include <linux/slab.h> #include <linux/i2c.h> #include <linux/rtc.h> #include <linux/bcd.h>
drivers/rtc/rtc-m48t35.c +1 -0
@@ -15,6 +15,7 @@*/ #include <linux/module.h> +#include <linux/slab.h> #include <linux/rtc.h> #include <linux/platform_device.h> #include <linux/bcd.h>
drivers/rtc/rtc-m48t59.c +1 -0
@@ -13,6 +13,7 @@#include <linux/kernel.h> #include <linux/module.h> #include <linux/init.h> +#include <linux/slab.h> #include <linux/io.h> #include <linux/device.h> #include <linux/platform_device.h>
drivers/rtc/rtc-mc13783.c +1 -0
@@ -13,6 +13,7 @@#include <linux/platform_device.h> #include <linux/kernel.h> #include <linux/module.h> +#include <linux/slab.h> #include <linux/rtc.h> #define DRIVER_NAME "mc13783-rtc"
drivers/rtc/rtc-msm6242.c +1 -0
@@ -11,6 +11,7 @@#include <linux/io.h> #include <linux/kernel.h> #include <linux/module.h> +#include <linux/slab.h> #include <linux/platform_device.h> #include <linux/rtc.h>
drivers/rtc/rtc-pcap.c +1 -0
@@ -15,6 +15,7 @@#include <linux/kernel.h> #include <linux/module.h> #include <linux/init.h> +#include <linux/slab.h> #include <linux/mfd/ezx-pcap.h> #include <linux/rtc.h> #include <linux/platform_device.h>
drivers/rtc/rtc-pcf50633.c +1 -0
@@ -22,6 +22,7 @@#include <linux/rtc.h> #include <linux/bcd.h> #include <linux/err.h> +#include <linux/slab.h> #include <linux/mfd/pcf50633/core.h>
drivers/rtc/rtc-pcf8563.c +1 -0
@@ -14,6 +14,7 @@* published by the Free Software Foundation. */ +#include <linux/slab.h> #include <linux/i2c.h> #include <linux/bcd.h> #include <linux/rtc.h>
drivers/rtc/rtc-rp5c01.c +1 -0
@@ -10,6 +10,7 @@#include <linux/io.h> #include <linux/kernel.h> #include <linux/module.h> +#include <linux/slab.h> #include <linux/platform_device.h> #include <linux/rtc.h>
drivers/rtc/rtc-rs5c372.c +1 -0
@@ -10,6 +10,7 @@* published by the Free Software Foundation. */ +#include <linux/slab.h> #include <linux/i2c.h> #include <linux/rtc.h> #include <linux/bcd.h>
drivers/rtc/rtc-rx8025.c +1 -0
@@ -21,6 +21,7 @@#include <linux/kernel.h> #include <linux/module.h> #include <linux/init.h> +#include <linux/slab.h> #include <linux/bcd.h> #include <linux/i2c.h> #include <linux/list.h>
drivers/rtc/rtc-v3020.c +1 -0
@@ -28,6 +28,7 @@#include <linux/rtc-v3020.h> #include <linux/delay.h> #include <linux/gpio.h> +#include <linux/slab.h> #include <linux/io.h>
drivers/scsi/ch.c +1 -0
@@ -23,6 +23,7 @@#include <linux/mutex.h> #include <linux/idr.h> #include <linux/smp_lock.h> +#include <linux/slab.h> #include <scsi/scsi.h> #include <scsi/scsi_cmnd.h>
drivers/scsi/device_handler/scsi_dh.c +1 -0
@@ -21,6 +21,7 @@* Mike Anderson <[email protected]> */ +#include <linux/slab.h> #include <scsi/scsi_dh.h> #include "../scsi_priv.h"
drivers/scsi/device_handler/scsi_dh_alua.c +1 -0
@@ -19,6 +19,7 @@* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * */ +#include <linux/slab.h> #include <scsi/scsi.h> #include <scsi/scsi_eh.h> #include <scsi/scsi_dh.h>
drivers/scsi/device_handler/scsi_dh_emc.c +1 -0
@@ -20,6 +20,7 @@* along with this program; see the file COPYING. If not, write to * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ +#include <linux/slab.h> #include <scsi/scsi.h> #include <scsi/scsi_eh.h> #include <scsi/scsi_dh.h>
drivers/scsi/device_handler/scsi_dh_hp_sw.c +1 -0
@@ -21,6 +21,7 @@* the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ +#include <linux/slab.h> #include <scsi/scsi.h> #include <scsi/scsi_dbg.h> #include <scsi/scsi_eh.h>
drivers/scsi/device_handler/scsi_dh_rdac.c +1 -0
@@ -23,6 +23,7 @@#include <scsi/scsi_eh.h> #include <scsi/scsi_dh.h> #include <linux/workqueue.h> +#include <linux/slab.h> #define RDAC_NAME "rdac"#define RDAC_RETRY_COUNT 5
drivers/scsi/hosts.c +1 -0
@@ -31,6 +31,7 @@#include <linux/completion.h> #include <linux/transport_class.h> #include <linux/platform_device.h> +#include <linux/slab.h> #include <scsi/scsi_device.h> #include <scsi/scsi_host.h>
drivers/scsi/libsrp.c +1 -0
@@ -22,6 +22,7 @@#include <linux/kfifo.h> #include <linux/scatterlist.h> #include <linux/dma-mapping.h> +#include <linux/slab.h> #include <scsi/scsi.h> #include <scsi/scsi_cmnd.h> #include <scsi/scsi_tcq.h>
drivers/scsi/lpfc/lpfc_hbadisc.c +1 -0
@@ -23,6 +23,7 @@#include <linux/pci.h> #include <linux/kthread.h> #include <linux/interrupt.h> +#include <linux/slab.h> #include <scsi/scsi.h> #include <scsi/scsi_device.h>
drivers/scsi/osd/osd_initiator.c +1 -0
@@ -39,6 +39,7 @@* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include <linux/slab.h> #include <scsi/osd_initiator.h> #include <scsi/osd_sec.h> #include <scsi/osd_attributes.h>
drivers/scsi/osd/osd_uld.c +1 -0
@@ -50,6 +50,7 @@#include <linux/idr.h> #include <linux/major.h> #include <linux/file.h> +#include <linux/slab.h> #include <scsi/scsi.h> #include <scsi/scsi_driver.h>
drivers/scsi/scsi_scan.c +1 -0
@@ -33,6 +33,7 @@#include <linux/kthread.h> #include <linux/spinlock.h> #include <linux/async.h> +#include <linux/slab.h> #include <scsi/scsi.h> #include <scsi/scsi_cmnd.h>
drivers/scsi/scsi_sysfs.c +1 -0
@@ -10,6 +10,7 @@#include <linux/init.h> #include <linux/blkdev.h> #include <linux/device.h> +#include <linux/slab.h> #include <scsi/scsi.h> #include <scsi/scsi_device.h>
drivers/scsi/scsi_tgt_lib.c +1 -0
@@ -23,6 +23,7 @@#include <linux/hash.h> #include <linux/module.h> #include <linux/pagemap.h> +#include <linux/slab.h> #include <scsi/scsi.h> #include <scsi/scsi_cmnd.h> #include <scsi/scsi_device.h>
drivers/scsi/scsi_transport_spi.c +1 -0
@@ -25,6 +25,7 @@#include <linux/blkdev.h> #include <linux/mutex.h> #include <linux/sysfs.h> +#include <linux/slab.h> #include <scsi/scsi.h> #include "scsi_priv.h" #include <scsi/scsi_device.h>
drivers/scsi/scsicam.c +1 -0
@@ -16,6 +16,7 @@#include <linux/kernel.h> #include <linux/blkdev.h> #include <linux/buffer_head.h> +#include <linux/slab.h> #include <asm/unaligned.h> #include <scsi/scsicam.h>
drivers/scsi/sd.c +1 -0
@@ -49,6 +49,7 @@#include <linux/mutex.h> #include <linux/string_helpers.h> #include <linux/async.h> +#include <linux/slab.h> #include <asm/uaccess.h> #include <asm/unaligned.h>
drivers/scsi/ses.c +1 -0
@@ -23,6 +23,7 @@#include <linux/module.h> #include <linux/kernel.h> +#include <linux/slab.h> #include <linux/enclosure.h> #include <scsi/scsi.h>
drivers/scsi/sr.c +1 -0
@@ -44,6 +44,7 @@#include <linux/init.h> #include <linux/blkdev.h> #include <linux/mutex.h> +#include <linux/slab.h> #include <asm/uaccess.h> #include <scsi/scsi.h>
drivers/scsi/sr_ioctl.c +1 -0
@@ -7,6 +7,7 @@#include <linux/blkpg.h> #include <linux/cdrom.h> #include <linux/delay.h> +#include <linux/slab.h> #include <asm/io.h> #include <asm/uaccess.h>
drivers/scsi/sr_vendor.c +1 -0
@@ -39,6 +39,7 @@#include <linux/string.h> #include <linux/bcd.h> #include <linux/blkdev.h> +#include <linux/slab.h> #include <scsi/scsi.h> #include <scsi/scsi_cmnd.h>
drivers/scsi/st.c +1 -0
@@ -39,6 +39,7 @@ static const char *verstr = "20081215";#include <linux/delay.h> #include <linux/mutex.h> #include <linux/smp_lock.h> +#include <linux/slab.h> #include <asm/uaccess.h> #include <asm/dma.h>
drivers/serial/8250.c +1 -0
@@ -38,6 +38,7 @@#include <linux/serial_8250.h> #include <linux/nmi.h> #include <linux/mutex.h> +#include <linux/slab.h> #include <asm/io.h> #include <asm/irq.h>
drivers/thermal/thermal_sys.c +1 -0
@@ -31,6 +31,7 @@#include <linux/thermal.h> #include <linux/spinlock.h> #include <linux/reboot.h> +#include <linux/slab.h> MODULE_AUTHOR ("Zhang Rui" );MODULE_DESCRIPTION ("Generic thermal management sysfs support" );
drivers/uio/uio.c +1 -0
@@ -22,6 +22,7 @@#include <linux/sched.h> #include <linux/string.h> #include <linux/kobject.h> +#include <linux/slab.h> #include <linux/uio_driver.h> #define UIO_MAX_DEVICES 255
drivers/uio/uio_pdrv.c +1 -0
@@ -11,6 +11,7 @@#include <linux/platform_device.h> #include <linux/uio_driver.h> #include <linux/stringify.h> +#include <linux/slab.h> #define DRIVER_NAME "uio_pdrv"
drivers/uio/uio_pdrv_genirq.c +1 -0
@@ -21,6 +21,7 @@#include <linux/interrupt.h> #include <linux/stringify.h> #include <linux/pm_runtime.h> +#include <linux/slab.h> #define DRIVER_NAME "uio_pdrv_genirq"
drivers/usb/c67x00/c67x00-drv.c +1 -0
@@ -37,6 +37,7 @@#include <linux/device.h> #include <linux/io.h> #include <linux/list.h> +#include <linux/slab.h> #include <linux/usb.h> #include <linux/usb/c67x00.h>
drivers/usb/c67x00/c67x00-sched.c +1 -0
@@ -22,6 +22,7 @@*/ #include <linux/kthread.h> +#include <linux/slab.h> #include "c67x00.h" #include "c67x00-hcd.h"
drivers/usb/class/usbtmc.c +1 -0
@@ -26,6 +26,7 @@#include <linux/uaccess.h> #include <linux/kref.h> #include <linux/mutex.h> +#include <linux/slab.h> #include <linux/usb.h> #include <linux/usb/tmc.h>
drivers/usb/core/driver.c +1 -0
@@ -26,6 +26,7 @@#include <linux/usb.h> #include <linux/usb/quirks.h> #include <linux/pm_runtime.h> +#include <linux/slab.h> #include "hcd.h" #include "usb.h"
drivers/usb/core/endpoint.c +1 -0
@@ -13,6 +13,7 @@#include <linux/spinlock.h> #include <linux/idr.h> #include <linux/usb.h> +#include <linux/slab.h> #include "usb.h" struct ep_device {
drivers/usb/core/file.c +1 -0
@@ -20,6 +20,7 @@#include <linux/rwsem.h> #include <linux/smp_lock.h> #include <linux/usb.h> +#include <linux/slab.h> #include "usb.h"
drivers/usb/gadget/audio.c +1 -0
@@ -12,6 +12,7 @@/* #define VERBOSE_DEBUG */ #include <linux/kernel.h> +#include <linux/slab.h> #include <linux/utsname.h> #include "u_audio.h"
drivers/usb/host/isp116x-hcd.c +1 -0
@@ -62,6 +62,7 @@#include <linux/errno.h> #include <linux/init.h> #include <linux/list.h> +#include <linux/slab.h> #include <linux/usb.h> #include <linux/usb/isp116x.h> #include <linux/platform_device.h>
drivers/usb/host/r8a66597-hcd.c +1 -0
@@ -37,6 +37,7 @@#include <linux/io.h> #include <linux/mm.h> #include <linux/irq.h> +#include <linux/slab.h> #include <asm/cacheflush.h> #include "../core/hcd.h"
drivers/usb/host/xhci-hcd.c +1 -0
@@ -23,6 +23,7 @@#include <linux/irq.h> #include <linux/module.h> #include <linux/moduleparam.h> +#include <linux/slab.h> #include "xhci.h"
drivers/usb/host/xhci-ring.c +1 -0
@@ -65,6 +65,7 @@*/ #include <linux/scatterlist.h> +#include <linux/slab.h> #include "xhci.h" /*
drivers/usb/misc/appledisplay.c +1 -0
@@ -28,6 +28,7 @@#include <linux/backlight.h> #include <linux/timer.h> #include <linux/workqueue.h> +#include <linux/slab.h> #include <asm/atomic.h> #define APPLE_VENDOR_ID 0x05AC
drivers/usb/misc/cypress_cy7c63.c +1 -0
@@ -32,6 +32,7 @@#include <linux/init.h> #include <linux/module.h> #include <linux/kernel.h> +#include <linux/slab.h> #include <linux/usb.h> #define DRIVER_AUTHOR "Oliver Bock ([email protected])"
drivers/usb/misc/cytherm.c +1 -0
@@ -18,6 +18,7 @@#include <linux/errno.h> #include <linux/init.h> #include <linux/module.h> +#include <linux/slab.h> #include <linux/usb.h> #define DRIVER_VERSION "v1.0"
drivers/usb/misc/isight_firmware.c +1 -0
@@ -25,6 +25,7 @@#include <linux/firmware.h> #include <linux/errno.h> #include <linux/module.h> +#include <linux/slab.h> static const struct usb_device_id id_table[] = { {USB_DEVICE (0x05ac ,0x8300 )},
drivers/usb/misc/trancevibrator.c +1 -0
@@ -23,6 +23,7 @@#include <linux/errno.h> #include <linux/init.h> #include <linux/module.h> +#include <linux/slab.h> #include <linux/usb.h> /* Version Information */
drivers/usb/otg/nop-usb-xceiv.c +1 -0
@@ -27,6 +27,7 @@*/ #include <linux/module.h> +#include <linux/slab.h> #include <linux/platform_device.h> #include <linux/dma-mapping.h> #include <linux/usb/otg.h>
drivers/usb/serial/aircable.c +1 -0
@@ -42,6 +42,7 @@* */ +#include <linux/slab.h> #include <linux/tty.h> #include <linux/tty_flip.h> #include <linux/circ_buf.h>
drivers/usb/serial/ark3116.c +1 -0
@@ -28,6 +28,7 @@#include <linux/tty.h> #include <linux/tty_flip.h> #include <linux/module.h> +#include <linux/slab.h> #include <linux/usb.h> #include <linux/usb/serial.h> #include <linux/serial.h>
drivers/usb/serial/bus.c +1 -0
@@ -12,6 +12,7 @@#include <linux/errno.h> #include <linux/tty.h> #include <linux/module.h> +#include <linux/slab.h> #include <linux/usb.h> #include <linux/usb/serial.h>
drivers/usb/serial/ch341.c +1 -0
@@ -19,6 +19,7 @@#include <linux/init.h> #include <linux/tty.h> #include <linux/module.h> +#include <linux/slab.h> #include <linux/usb.h> #include <linux/usb/serial.h> #include <linux/serial.h>
drivers/usb/serial/opticon.c +1 -0
@@ -19,6 +19,7 @@#include <linux/usb.h> #include <linux/usb/serial.h> #include <linux/uaccess.h> +#include <linux/slab.h> static int debug;
drivers/usb/serial/option.c +1 -0
@@ -39,6 +39,7 @@#include <linux/tty_flip.h> #include <linux/module.h> #include <linux/bitops.h> +#include <linux/slab.h> #include <linux/usb.h> #include <linux/usb/serial.h>
drivers/usb/serial/sierra.c +1 -0
@@ -28,6 +28,7 @@#include <linux/tty.h> #include <linux/tty_flip.h> #include <linux/module.h> +#include <linux/slab.h> #include <linux/usb.h> #include <linux/usb/serial.h>
drivers/usb/serial/symbolserial.c +1 -0
@@ -15,6 +15,7 @@#include <linux/tty_driver.h> #include <linux/tty_flip.h> #include <linux/module.h> +#include <linux/slab.h> #include <linux/usb.h> #include <linux/usb/serial.h> #include <linux/uaccess.h>
drivers/usb/storage/usb.h +1 -0
@@ -47,6 +47,7 @@#include <linux/blkdev.h> #include <linux/completion.h> #include <linux/mutex.h> +#include <linux/slab.h> #include <scsi/scsi_host.h> struct us_data ;
drivers/usb/wusbcore/cbaf.c +1 -0
@@ -93,6 +93,7 @@#include <linux/delay.h> #include <linux/random.h> #include <linux/mutex.h> +#include <linux/slab.h> #include <linux/uwb.h> #include <linux/usb/wusb.h> #include <linux/usb/association.h>
drivers/usb/wusbcore/wusbhc.h +1 -0
@@ -58,6 +58,7 @@#include <linux/mutex.h> #include <linux/kref.h> #include <linux/workqueue.h> +#include <linux/slab.h> /* FIXME: Yes, I know: BAD--it's not my fault the USB HC iface is not * public */ #include <linux/../../drivers/usb/core/hcd.h>
drivers/uwb/allocator.c +1 -0
@@ -16,6 +16,7 @@* along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <linux/kernel.h> +#include <linux/slab.h> #include <linux/uwb.h> #include "uwb-internal.h"
drivers/uwb/beacon.c +1 -0
@@ -28,6 +28,7 @@#include <linux/device.h> #include <linux/err.h> #include <linux/kdev_t.h> +#include <linux/slab.h> #include "uwb-internal.h"
drivers/uwb/drp-ie.c +1 -0
@@ -18,6 +18,7 @@*/ #include <linux/kernel.h> #include <linux/random.h> +#include <linux/slab.h> #include <linux/uwb.h> #include "uwb-internal.h"
drivers/uwb/drp.c +1 -0
@@ -21,6 +21,7 @@#include <linux/kthread.h> #include <linux/freezer.h> #include <linux/delay.h> +#include <linux/slab.h> #include "uwb-internal.h"
drivers/uwb/est.c +1 -0
@@ -40,6 +40,7 @@* uwb_est_get_size() */ #include <linux/spinlock.h> +#include <linux/slab.h> #include "uwb-internal.h"
drivers/uwb/i1480/dfu/mac.c +1 -0
@@ -27,6 +27,7 @@* function pointers to push the firmware to the device. */ #include <linux/delay.h> +#include <linux/slab.h> #include <linux/firmware.h> #include <linux/uwb.h> #include "i1480-dfu.h"
drivers/uwb/i1480/dfu/usb.c +1 -0
@@ -38,6 +38,7 @@#include <linux/usb.h> #include <linux/interrupt.h> #include <linux/delay.h> +#include <linux/slab.h> #include <linux/uwb.h> #include <linux/usb/wusb.h> #include <linux/usb/wusb-wa.h>
drivers/uwb/uwb-internal.h +1 -0
@@ -33,6 +33,7 @@#include <linux/device.h> #include <linux/uwb.h> #include <linux/mutex.h> +#include <linux/slab.h> struct uwb_beca_e ;
drivers/video/backlight/backlight.c +1 -0
@@ -13,6 +13,7 @@#include <linux/ctype.h> #include <linux/err.h> #include <linux/fb.h> +#include <linux/slab.h> #ifdef CONFIG_PMAC_BACKLIGHT #include <asm/backlight.h>
drivers/video/backlight/lcd.c +1 -0
@@ -13,6 +13,7 @@#include <linux/ctype.h> #include <linux/err.h> #include <linux/fb.h> +#include <linux/slab.h> #if defined(CONFIG_FB ) || (defined(CONFIG_FB_MODULE ) && \ defined(CONFIG_LCD_CLASS_DEVICE_MODULE ))
drivers/video/backlight/platform_lcd.c +1 -0
@@ -12,6 +12,7 @@*/ #include <linux/module.h> +#include <linux/slab.h> #include <linux/platform_device.h> #include <linux/fb.h> #include <linux/backlight.h>
drivers/video/console/bitblit.c +1 -0
@@ -15,6 +15,7 @@#include <linux/fb.h> #include <linux/vt_kern.h> #include <linux/console.h> +#include <linux/slab.h> #include <asm/types.h> #include "fbcon.h"
drivers/video/console/fbcon_ccw.c +1 -0
@@ -10,6 +10,7 @@#include <linux/module.h> #include <linux/string.h> +#include <linux/slab.h> #include <linux/fb.h> #include <linux/vt_kern.h> #include <linux/console.h>
drivers/video/console/fbcon_cw.c +1 -0
@@ -10,6 +10,7 @@#include <linux/module.h> #include <linux/string.h> +#include <linux/slab.h> #include <linux/fb.h> #include <linux/vt_kern.h> #include <linux/console.h>
drivers/video/console/fbcon_rotate.c +1 -0
@@ -10,6 +10,7 @@#include <linux/module.h> #include <linux/string.h> +#include <linux/slab.h> #include <linux/fb.h> #include <linux/vt_kern.h> #include <linux/console.h>
drivers/video/console/fbcon_ud.c +1 -0
@@ -10,6 +10,7 @@#include <linux/module.h> #include <linux/string.h> +#include <linux/slab.h> #include <linux/fb.h> #include <linux/vt_kern.h> #include <linux/console.h>
drivers/video/display/display-sysfs.c +1 -0
@@ -27,6 +27,7 @@#include <linux/idr.h> #include <linux/err.h> #include <linux/kdev_t.h> +#include <linux/slab.h> static ssize_t display_show_name (struct device *dev,struct device_attribute *attr,char *buf)
drivers/video/fb_ddc.c +1 -0
@@ -8,6 +8,7 @@* for more details. */ +#include <linux/slab.h> #include <linux/delay.h> #include <linux/device.h> #include <linux/fb.h>
drivers/video/fbcvt.c +1 -0
@@ -13,6 +13,7 @@* */ #include <linux/fb.h> +#include <linux/slab.h> #define FB_CVT_CELLSIZE 8#define FB_CVT_GTF_C 40
drivers/video/fbsysfs.c +1 -0
@@ -19,6 +19,7 @@#include <linux/fb.h> #include <linux/console.h> #include <linux/module.h> +#include <linux/slab.h> #define FB_SYSFS_FLAG_ATTR 1
drivers/video/modedb.c +1 -0
@@ -14,6 +14,7 @@#include <linux/module.h> #include <linux/fb.h> #include <linux/kernel.h> +#include <linux/slab.h> #undef DEBUG
drivers/video/output.c +1 -0
@@ -25,6 +25,7 @@#include <linux/video_output.h> #include <linux/err.h> #include <linux/ctype.h> +#include <linux/slab.h> MODULE_DESCRIPTION ("Display Output Switcher Lowlevel Control Abstraction" );
drivers/video/s1d13xxxfb.c +1 -0
@@ -31,6 +31,7 @@#include <linux/fb.h> #include <linux/spinlock_types.h> #include <linux/spinlock.h> +#include <linux/slab.h> #include <asm/io.h>
drivers/video/xen-fbfront.c +1 -0
@@ -25,6 +25,7 @@#include <linux/module.h> #include <linux/vmalloc.h> #include <linux/mm.h> +#include <linux/slab.h> #include <asm/xen/hypervisor.h>
drivers/virtio/virtio_balloon.c +1 -0
@@ -24,6 +24,7 @@#include <linux/kthread.h> #include <linux/freezer.h> #include <linux/delay.h> +#include <linux/slab.h> struct virtio_balloon {
drivers/virtio/virtio_ring.c +1 -0
@@ -20,6 +20,7 @@#include <linux/virtio_ring.h> #include <linux/virtio_config.h> #include <linux/device.h> +#include <linux/slab.h> /* virtio guest is communicating with a virtual "device" that actually runs on * a host processor. Memory barriers are used to control SMP effects. */
drivers/w1/masters/ds2490.c +1 -0
@@ -21,6 +21,7 @@#include <linux/module.h> #include <linux/kernel.h> +#include <linux/slab.h> #include <linux/mod_devicetable.h> #include <linux/usb.h>
drivers/w1/masters/w1-gpio.c +1 -0
@@ -10,6 +10,7 @@#include <linux/init.h> #include <linux/module.h> +#include <linux/slab.h> #include <linux/platform_device.h> #include <linux/w1-gpio.h>
drivers/w1/slaves/w1_ds2433.c +1 -0
@@ -13,6 +13,7 @@#include <linux/device.h> #include <linux/types.h> #include <linux/delay.h> +#include <linux/slab.h> #ifdef CONFIG_W1_SLAVE_DS2433_CRC #include <linux/crc16.h>
drivers/watchdog/max63xx_wdt.c +1 -0
@@ -28,6 +28,7 @@#include <linux/uaccess.h> #include <linux/io.h> #include <linux/device.h> +#include <linux/slab.h> #define DEFAULT_HEARTBEAT 60#define MAX_HEARTBEAT 60
drivers/xen/events.c +1 -0
@@ -27,6 +27,7 @@#include <linux/module.h> #include <linux/string.h> #include <linux/bootmem.h> +#include <linux/slab.h> #include <asm/ptrace.h> #include <asm/irq.h>
drivers/xen/grant-table.c +1 -0
@@ -34,6 +34,7 @@#include <linux/module.h> #include <linux/sched.h> #include <linux/mm.h> +#include <linux/slab.h> #include <linux/vmalloc.h> #include <linux/uaccess.h>
drivers/xen/manage.c +1 -0
@@ -7,6 +7,7 @@#include <linux/sysrq.h> #include <linux/stop_machine.h> #include <linux/freezer.h> +#include <linux/slab.h> #include <xen/xenbus.h> #include <xen/grant_table.h>
drivers/xen/sys-hypervisor.c +1 -0
@@ -10,6 +10,7 @@#include <linux/kernel.h> #include <linux/module.h> #include <linux/kobject.h> +#include <linux/slab.h> #include <asm/xen/hypervisor.h> #include <asm/xen/hypercall.h>
drivers/xen/xenbus/xenbus_client.c +1 -0
@@ -31,6 +31,7 @@*/ #include <linux/types.h> +#include <linux/slab.h> #include <linux/vmalloc.h> #include <asm/xen/hypervisor.h> #include <xen/interface/xen.h>
drivers/xen/xenfs/xenbus.c +1 -0
@@ -51,6 +51,7 @@#include <linux/init.h> #include <linux/namei.h> #include <linux/string.h> +#include <linux/slab.h> #include "xenfs.h" #include "../xenbus/xenbus_comms.h"
fs/9p/cache.c +1 -0
@@ -25,6 +25,7 @@#include <linux/stat.h> #include <linux/sched.h> #include <linux/fs.h> +#include <linux/slab.h> #include <net/9p/9p.h> #include "v9fs.h"
fs/9p/fid.c +1 -0
@@ -26,6 +26,7 @@#include <linux/fs.h> #include <linux/sched.h> #include <linux/idr.h> +#include <linux/slab.h> #include <net/9p/9p.h> #include <net/9p/client.h>
fs/9p/v9fs.c +1 -0
@@ -29,6 +29,7 @@#include <linux/sched.h> #include <linux/parser.h> #include <linux/idr.h> +#include <linux/slab.h> #include <net/9p/9p.h> #include <net/9p/client.h> #include <net/9p/transport.h>
fs/9p/vfs_dentry.c +1 -0
@@ -34,6 +34,7 @@#include <linux/namei.h> #include <linux/idr.h> #include <linux/sched.h> +#include <linux/slab.h> #include <net/9p/9p.h> #include <net/9p/client.h>
fs/9p/vfs_dir.c +1 -0
@@ -32,6 +32,7 @@#include <linux/sched.h> #include <linux/inet.h> #include <linux/idr.h> +#include <linux/slab.h> #include <net/9p/9p.h> #include <net/9p/client.h>
fs/9p/vfs_inode.c +1 -0
@@ -34,6 +34,7 @@#include <linux/namei.h> #include <linux/idr.h> #include <linux/sched.h> +#include <linux/slab.h> #include <net/9p/9p.h> #include <net/9p/client.h>
fs/9p/vfs_super.c +1 -0
@@ -37,6 +37,7 @@#include <linux/mount.h> #include <linux/idr.h> #include <linux/sched.h> +#include <linux/slab.h> #include <net/9p/9p.h> #include <net/9p/client.h>
fs/adfs/super.c +1 -0
@@ -13,6 +13,7 @@#include <linux/parser.h> #include <linux/mount.h> #include <linux/seq_file.h> +#include <linux/slab.h> #include <linux/smp_lock.h> #include <linux/statfs.h> #include "adfs.h"
fs/affs/affs.h +1 -0
@@ -4,6 +4,7 @@#include <linux/amigaffs.h> #include <linux/mutex.h> +/* AmigaOS allows file names with up to 30 characters length. * Names longer than that will be silently truncated. If you * want to disallow this, comment out the following #define.
fs/affs/bitmap.c +1 -0
@@ -7,6 +7,7 @@* block allocation, deallocation, calculation of free space. */ +#include <linux/slab.h> #include "affs.h" /* This is, of course, shamelessly stolen from fs/minix */
fs/affs/super.c +1 -0
@@ -17,6 +17,7 @@#include <linux/magic.h> #include <linux/sched.h> #include <linux/smp_lock.h> +#include <linux/slab.h> #include "affs.h" extern struct timezone sys_tz;
fs/bio-integrity.c +1 -0
@@ -24,6 +24,7 @@#include <linux/mempool.h> #include <linux/bio.h> #include <linux/workqueue.h> +#include <linux/slab.h> struct integrity_slab {struct kmem_cache *slab;
fs/btrfs/async-thread.c +1 -0
@@ -20,6 +20,7 @@#include <linux/list.h> #include <linux/spinlock.h> #include <linux/freezer.h> +#include <linux/slab.h> #include "async-thread.h" #define WORK_QUEUED_BIT 0
fs/btrfs/ctree.h +1 -0
@@ -26,6 +26,7 @@#include <linux/completion.h> #include <linux/backing-dev.h> #include <linux/wait.h> +#include <linux/slab.h> #include <asm/kmap_types.h> #include "extent_io.h" #include "extent_map.h"
fs/btrfs/super.c +1 -0
@@ -38,6 +38,7 @@#include <linux/namei.h> #include <linux/miscdevice.h> #include <linux/magic.h> +#include <linux/slab.h> #include "compat.h" #include "ctree.h" #include "disk-io.h"
fs/ecryptfs/dentry.c +1 -0
@@ -26,6 +26,7 @@#include <linux/namei.h> #include <linux/mount.h> #include <linux/fs_stack.h> +#include <linux/slab.h> #include "ecryptfs_kernel.h" /**
fs/ecryptfs/kthread.c +1 -0
@@ -24,6 +24,7 @@#include <linux/freezer.h> #include <linux/wait.h> #include <linux/mount.h> +#include <linux/slab.h> #include "ecryptfs_kernel.h" struct kmem_cache *ecryptfs_open_req_cache;
fs/ecryptfs/messaging.c +1 -0
@@ -22,6 +22,7 @@#include <linux/sched.h> #include <linux/user_namespace.h> #include <linux/nsproxy.h> +#include <linux/slab.h> #include "ecryptfs_kernel.h" static LIST_HEAD (ecryptfs_msg_ctx_free_list);
fs/ecryptfs/miscdev.c +1 -0
@@ -26,6 +26,7 @@#include <linux/poll.h> #include <linux/wait.h> #include <linux/module.h> +#include <linux/slab.h> #include "ecryptfs_kernel.h" static atomic_t ecryptfs_num_miscdev_opens;
fs/eventfd.c +1 -0
@@ -17,6 +17,7 @@#include <linux/syscalls.h> #include <linux/module.h> #include <linux/kref.h> +#include <linux/slab.h> #include <linux/eventfd.h> struct eventfd_ctx {
fs/exofs/inode.c +1 -0
@@ -33,6 +33,7 @@#include <linux/writeback.h> #include <linux/buffer_head.h> +#include <linux/slab.h> #include <scsi/scsi_device.h> #include "exofs.h"
fs/exofs/ios.c +1 -0
@@ -22,6 +22,7 @@* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ +#include <linux/slab.h> #include <scsi/scsi_device.h> #include <asm/div64.h>
fs/exofs/super.c +1 -0
@@ -37,6 +37,7 @@#include <linux/vfs.h> #include <linux/random.h> #include <linux/exportfs.h> +#include <linux/slab.h> #include "exofs.h"
fs/ext2/balloc.c +1 -0
@@ -16,6 +16,7 @@#include <linux/sched.h> #include <linux/buffer_head.h> #include <linux/capability.h> +#include <linux/slab.h> /* * balloc.c contains the blocks allocation and deallocation routines
fs/fat/cache.c +1 -0
@@ -10,6 +10,7 @@#include <linux/fs.h> #include <linux/buffer_head.h> +#include <linux/slab.h> #include "fat.h" /* this must be > 0. */
fs/fat/fat.h +1 -0
@@ -6,6 +6,7 @@#include <linux/nls.h> #include <linux/fs.h> #include <linux/mutex.h> +#include <linux/slab.h> #include <linux/msdos_fs.h>
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
Part of the diff is not shown here. View the raw message.
Tejun Heo
maintainerHello, Ingo.
Quoted 3 lines · Ingo Molnar
( /me mumbles something about not having a patch in the email to review and
pulling the tree. 200k patch is just fine for lkml - i've attached it below for easier review.percpu.handpercpu.chas the meat of the changes. )
I wanted to keep the discussion high level while giving a general idea about the extent of necessary changes. I'll include the patch from now on.
Quoted 9 lines
i like the dependency reduction. Noticed one small detail:
this new 2000-lines #ifdef block
percpu.c:+#ifdef
CONFIG_SMP
+#else /*CONFIG_SMP*/
+#endif /*CONFIG_SMP*/feels a bit lame. A separate
percpu_up.cfile would be nicer i suppose?
Sure.
Quoted 9 lines
Also, why should we make this opt-in and expose a wide range of configs to build breakages? A more gradual approach would be to write a simple script that adds a
slab.hinclude to all .c's that includepercpu.h, directly or indirectly.You can map the pattern experimentally: the insertion pattern could be built from the x86 allmodconfig build you did [i.e. extend the pattern until you make it build on allmodconfig] - that would cover most cases in practice (not just allmodconfig) - and would cover most architectures as well.
I don't really get the 'experimental' part but if I count all the files which ends up including percpu.h directly or indirectly on allmodconfig it ends up including much more .c files than necessasry - 11203 to be exact, ~20 times more than necessary. Inclusions from .c files definitely are much less troublesome so the situation would be better than now but we'll still end up with a LOT of bogus inclusions without any good way to eventually remove them.
Maybe a better way is to grab for slab API usages in .c files which don't have slab.h inclusion. If breaking the dependency is the way to go, I can definitely write up some scripts and do test builds on some archs. There sure will be some fallouts but I think it won't be too bad.
Thanks.
Signature · 1 line
tejun
Quoted 4 lines · Ingo Molnar
Also, why should we make this opt-in and expose a wide range of configs to build breakages? A more gradual approach would be to write a simple script that adds a
slab.hinclude to all .c's that includepercpu.h, directly or indirectly.
I am all for untangling the #include mess in slab.h and friends and I think Ingo's suggestion is probably the best way forward. We should avoid creating tree-wide breakage for this kind of cleanups.
Pekka
Quoted 2 lines · Ingo Molnar
Also, why should we make this opt-in and expose a wide range of configs to build breakages?
Because we want to #include less, not the same amount.
Quoted 3 lines
A more gradual approach would be to write a simple script that adds a
slab.hinclude to all .c's that includepercpu.h, directly or indirectly.
As a defensive measure, one can explicitly add slab.h to every file which uses kmalloc/kfree.
But, who cares, since one still has to compile test regardless.
Quoted 1 line · Pekka Enberg
We should avoid creating tree-wide breakage for this kind of cleanups.
This is done by compile testing, not by being smartass.
Tejun Heo
maintainerHello,
Quoted 5 lines · Tejun Heo
Maybe a better way is to grab for slab API usages in .c files which don't have
slab.hinclusion. If breaking the dependency is the way to go, I can definitely write up some scripts and do test builds on some archs. There sure will be some fallouts but I think it won't be too bad.
Hmmm... here are some interesting numbers. Not completely exact but should give the general ballpark idea.
all .c files : 13999
.c files which use any of slab interface : 5603
.c files which include slab.h : 2519
.c files which include slab.h but don't use it : 577
.c files which use slab but don't include it : 3661
.c files with k[mzc]alloc/k[z]free usage : 5291
.c files with other slab interface usage : 356
C files which use k[mzc]alloc/k[z]free covers ~38% of all c files. One possibility is to separate out those into kmalloc.h and make it available universally via kernel.h.
Thanks.
Signature · 1 line
tejun
Quoted 11 lines · Tejun Heo
Quoted 10 lines
Also, why should we make this opt-in and expose a wide range of configs to build breakages? A more gradual approach would be to write a simple script that adds a
slab.hinclude to all .c's that includepercpu.h, directly or indirectly.You can map the pattern experimentally: the insertion pattern could be built from the x86 allmodconfig build you did [i.e. extend the pattern until you make it build on allmodconfig] - that would cover most cases in practice (not just allmodconfig) - and would cover most architectures as well.
Quoted 7 lines
I don't really get the 'experimental' part but if I count all the files which ends up including
percpu.hdirectly or indirectly on allmodconfig it ends up including much more .c files than necessasry - 11203 to be exact, ~20 times more than necessary. Inclusions from .c files definitely are much less troublesome so the situation would be better than now but we'll still end up with a LOT of bogus inclusions without any good way to eventually remove them.
That raises another problem we have: based on the sanitization of #include lines in a couple of files in the past, about 70-80% [+-10%] of all include lines are superfluous and duplicative.
So besides include file dependency incest, we have a random #include mess at the top of virtually every .c file in the kernel that has been around for more than a couple of years.
That too slows down the kernel build.
Quoted 4 lines
Maybe a better way is to grab for slab API usages in .c files which don't have
slab.hinclusion. If breaking the dependency is the way to go, I can definitely write up some scripts and do test builds on some archs. There sure will be some fallouts but I think it won't be too bad.
Yeah, actual API usages would be quite good as an insertion pattern. I've done a good deal of such large-scale conversions in the past, and what worked (for me) best was along the lines of:
- step 1: shoot for an all-tree scripted conversion (which tries to overshoot the target, not under-shoot it)
- step 2: some good build testing as there's always a few exceptions not worth scripting
The solution you went for is good for an initial prototype, but i'd expect it to cause quite some build breakage that will be a shock to the system.
The shock can be avoided i think, with some more work (on your side :-/ ).
Thanks,
Ingo
Alexey Dobriyan kirjoitti:
Quoted 4 lines · Pekka Enberg
Quoted 1 line
We should avoid creating tree-wide breakage for this kind of cleanups.
This is done by compile testing, not by being smartass.
I don't think compile testing is going to scale here because slab is used is so many places of the kernel.
Pekka
Quoted 18 lines · Tejun Heo
Hello,
Quoted 4 lines · Tejun Heo
Maybe a better way is to grab for slab API usages in .c files which don't have
slab.hinclusion. If breaking the dependency is the way to go, I can definitely write up some scripts and do test builds on some archs. There sure will be some fallouts but I think it won't be too bad.Hmmm... here are some interesting numbers. Not completely exact but should give the general ballpark idea.
all .c files : 13999
.c files which use any of slab interface : 5603
.c files which includeslab.h: 2519
.c files which includeslab.hbut don't use it : 577
.c files which use slab but don't include it : 3661
Quoted 6 lines
.c files with k[mzc]alloc/k[z]free usage : 5291
.c files with other slab interface usage : 356C files which use k[mzc]alloc/k[z]free covers ~38% of all c files. One possibility is to separate out those into
kmalloc.hand make it available universally viakernel.h.
Well, that's the main question: do we want all-in-one big headers like kernel.h (and sched.h / mm.h) or not?
If we want to avoid combo .h files then we inevitably want to go for finegrained, per subsystem data type and API definitions - i.e. explicit slab.h inclusion in the .c file.
I'm leaning towards that solution of avoiding combo .h files - even if in the slab.h case the concept causes us to touch quite a few .c files.
As long as it's expected to cause no shock we can do it in one big atomic risk-free commit: which just adds the #include slab.h's to the .c files, nothing else.
Look at the advantages:
- (slightly) sped up kbuild
- it would be immediately obvious in the future which .c file makes use of SLAB facilities. We wouldnt have to guess or go to object file analysis to figure out any 'true' usage.
- [ it would be trivial in the future to actually _remove_ stale #include files. When there's no indirect inclusion of facilities then the lack of usage can be decided based on API usage patterns in the .c files. ]
It's a much cleaner end result IMHO (which also happens to be faster to build)
- and slab.h is definitely the worst-case, so we should not wimp out just due to that difficulty.
Thanks,
Ingo
Quoted 6 lines · Alexey Dobriyan
Quoted 2 lines · Ingo Molnar
Also, why should we make this opt-in and expose a wide range of configs to build breakages?
Because we want to #include less, not the same amount.
Quoted 8 lines
Quoted 3 lines
A more gradual approach would be to write a simple script that adds a
slab.hinclude to all .c's that includepercpu.h, directly or indirectly.As a defensive measure, one can explicitly add
slab.hto every file which uses kmalloc/kfree.But, who cares, since one still has to compile test regardless.
Firstly, generating #include slab.h lines in .c files based on actual API usage is _good_, pretty much unconditionally so. See my previous mail for the list of advantages. Even if it increases the number of #include lines temporarily.
Secondly, the point in scripting is to intentionally over-shoot the target, as compile testing (especially if it's only modconfig), will only cover so much and _if we can_ we should avoid breakage.
That way the over-shooting will cover cases you are not able (or did not happen to) build-test. It's much better to have temporarily more include lines than have fewer and break the build. We'll need a #include line reduction mechanism in any case as APIs frequently get unused and #include lines get amassed in .c files.
Thirdly, as for build testing only, see for example a sched.h include file cleanup _you_ did in the past, which, despite your build testing, broke quite some code:
commit 86ae13b006e48959981248493efd3ff4b2828b3d
Author: Ingo Molnar <[email protected]>
Date: Mon Oct 12 16:22:46 2009 +0200
headers: Fix build after <linux/sched.h> removal
Commit d43c36dc6b357fa1806800f18aa30123c747a6d1 ("headers: remove sched.h from interrupt.h") left some build errors in some configurations due to drivers having depended on getting header files "accidentally".
drivers/char/genrtc.c | 1 + drivers/char/rtc.c | 1 + drivers/char/sonypi.c | 1 + drivers/net/wan/c101.c | 1 + drivers/net/wan/n2.c | 1 + drivers/net/wan/pci200syn.c | 1 + drivers/pci/hotplug/cpqphp.h | 1 + 7 files changed, 7 insertions(+), 0 deletions(-)
I dont mind the occasional breakage, but avoidable bugs spread out in the tree can be a real PITA to testers.
I remember it, that imperfect conversion kept me busy chasing trivial build bugs for most of the day, because they would pop up with different config dependencies so they had to be addressed separately. (so i created 7 separate fixes as the day progressed - and that in a busy period of the cycle so i certainly didnt have a day to waste voluntarily)
Note that that d43c36dc patch of yours wasnt in linux-next IIRC, so you didnt even get basic build coverage. I have no problem with fixing more difficult bugs or with fixing the occasional silly oversight (that's the _point_ of developing the kernel after all), but i have a problem with reasonably avoidable bugs.
Thanks,
Ingo
Quoted 11 lines · Pekka Enberg
Alexey Dobriyan kirjoitti:
Quoted 7 lines
Quoted 2 lines · Pekka Enberg
We should avoid creating tree-wide breakage for this kind of cleanups.
This is done by compile testing, not by being smartass.
I don't think compile testing is going to scale here because slab is used is so many places of the kernel.
Sigh.
If you want to skip compile testing, just say so in changelog.
Quoted 8 lines · Pekka Enberg
Alexey Dobriyan kirjoitti:
Quoted 4 lines · Pekka Enberg
Quoted 1 line
We should avoid creating tree-wide breakage for this kind of cleanups.
This is done by compile testing, not by being smartass.
I don't think compile testing is going to scale here because slab is used is so many places of the kernel.
Yes. In large-scale conversions i typically used (rather extensive) build-testing as a tool to check a script's correctness - distinctly _not_ to create the actual patch itself.
I.e. it's an adaptive feedback loop in essence: the script gets perfected by repeated build tests, and the end result is that we have a scripted conversion that covers more code than build testing is able to reach (it covers not just x86, covers rare config combos, etc.), _plus_ we also have the final proof of the pudding via the actual build tests.
In the end it all converges nicely and the build breakage exported is minimal.
That is the mechanism i suggested. Alexey calls it 'smartass', i call it a defensive approach to large-scale changes, that we should practice more, not less.
[ Or, sometimes, for visibly trivial matters i just take the gamble, go into
cowboy mode and say 'to the heck, let others find those bugs' and do a change based on a sed -i oneliner and build a few configs, fix up the breakages it finds and hope for the best. I dont complain when i get slapped for that though ;-) ]
Ingo
Quoted 2 lines · Ingo Molnar
Well, that's the main question: do we want all-in-one big headers like
kernel.h(andsched.h/mm.h) or not?
It's question only for you.
There are observations, like sched.h includes some VM routines which better live in mm.h and some some cred/UID routines which better live in cred.h and sched.h unnecessarily includes capability.h which wasn't removed after "struct cred" inclusion.
Quoted 3 lines
If we want to avoid combo .h files then we inevitably want to go for finegrained, per subsystem data type and API definitions - i.e. explicit
slab.hinclusion in the .c file.
The problem is that slab.h is included unnecessarily in some other headers conditionally and unconditionally.
It's amazing to see how much sidework people are willing to create to _not_ do simple and obvious thing -- just remove slab.h.
Quoted 8 lines · Alexey Dobriyan
Quoted 7 lines · Pekka Enberg
Alexey Dobriyan kirjoitti:
Quoted 6 lines
Quoted 2 lines · Pekka Enberg
We should avoid creating tree-wide breakage for this kind of cleanups.
Quoted 8 lines
Quoted 4 lines
Quoted 1 line
This is done by compile testing, not by being smartass.
I don't think compile testing is going to scale here because slab is used is so many places of the kernel.
Sigh.
If you want to skip compile testing, just say so in changelog.
Hey, "sigh" right back at you, Alexey!
I am not saying I want to skip "compile testing", I'm just stating the obvious fact: for a header such as slab.h that's implicitly needed in pretty much everywhere, it's very difficult to find all the relevant broken configurations. I don't see the benefit of breaking the world for this cleanup as Ingo's suggestion will eventually get us to the exact same situation _without_ causing tree-wide breakage.
Pekka
Quoted 2 lines · Alexey Dobriyan
It's amazing to see how much sidework people are willing to create to _not_ do simple and obvious thing -- just remove
slab.h.
I'm not following your idea here. Where do you propose moving kmalloc() and friends to? kernel.h?
Quoted 2 lines · Tejun Heo
Lee Schermerhorn was trying to use percpu from
slab.hand ran into a dependency loop.percpu.hwas usingslab.hfor UP inline
The problem is that percpu.h includes slab.h for the UP case. slab.h does not use percpu.h. Lee was trying to have topology.h use percpu.h which fails because percpu.h uses gfp.h which in turn uses topology.h again.
Did something change there or does the description need an update?
Tejun Heo
maintainerHello,
Quoted 6 lines · Christoph Lameter
Quoted 2 lines · Tejun Heo
Lee Schermerhorn was trying to use percpu from
slab.hand ran into a dependency loop.percpu.hwas usingslab.hfor UP inlineThe problem is that
percpu.hincludesslab.hfor the UP case.
Yes, that's the reason why slab.h is included in percpu.h unconditionally.
Quoted 3 lines
slab.hdoes not usepercpu.h. Lee was trying to havetopology.husepercpu.hwhich fails becausepercpu.husesgfp.hwhich in turn usestopology.hagain.
But apparently a lot of files depend on getting slab.h through percpu.h and removing slab.h causes a lot of build breakages UP or SMP.
Quoted 1 line
Did something change there or does the description need an update?
I don't find anything too wrong about the description?
Thanks.
Signature · 1 line
tejun
Quoted 11 lines · Tejun Heo
Hello,
Quoted 6 lines · Christoph Lameter
Quoted 2 lines · Tejun Heo
Lee Schermerhorn was trying to use percpu from
slab.hand ran into a dependency loop.percpu.hwas usingslab.hfor UP inlineDid something change there or does the description need an update?
I don't find anything too wrong about the description?
"Lee Schermerhorn nwas trying to use percpu from slab.h and ..."
Quoted 7 lines · Christoph Lameter
Quoted 5 lines · Tejun Heo
Hello,
Quoted 2 lines · Christoph Lameter
On Thu, 11 Mar 2010, Tejun Heo wrote:
Quoted 8 lines
Quoted 6 lines
Quoted 4 lines
Quoted 2 lines
Lee Schermerhorn was trying to use percpu from
slab.hand ran into a dependency loop.percpu.hwas usingslab.hfor UP inlineDid something change there or does the description need an update?
I don't find anything too wrong about the description?
"Lee Schermerhorn nwas trying to use percpu from
slab.hand ..."
Well, indirectly, I was including percpu.h in slab.h by way of gpf.h/topology.h. Not actually what I was *trying* to do.
s/from slab.h/from topology.h/ is the update Christoph is indicating. Right, Christoph?
Quoted 1 line
Quoted 2 lines · Lee Schermerhorn
s/from slab.h/from topology.h/ is the update Christoph is indicating. Right, Christoph?
Right.
Tejun Heo
maintainerQuoted 6 lines · Christoph Lameter
Quoted 2 lines · Lee Schermerhorn
s/from slab.h/from topology.h/ is the update Christoph is indicating. Right, Christoph?
Right.
OIC, I'll update accordingly. Thanks.
Signature · 1 line
tejun