mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 13:55:32 +00:00
![Simon Arlott](/assets/img/avatar_default.png)
The BCM2835 contains a custom interrupt controller, which supports 72 interrupt sources using a 2-level register scheme. The interrupt controller, or the HW block containing it, is referred to occasionally as "armctrl" in the SoC documentation, hence the symbol naming in the code. This patch was extracted from git://github.com/lp0/linux.git branch rpi-split as of 2012/09/08, and modified as follows: * s/bcm2708/bcm2835/. * Modified device tree vendor prefix. * Moved implementation to drivers/irchip/. * Added devicetree documentation, and hence removed list of IRQs from bcm2835.dtsi. * Changed shift in MAKE_HWIRQ() and HWIRQ_BANK() from 8 to 5 to reduce the size of the hwirq space, and pass the total size of the hwirq space to irq_domain_add_linear(), rather than just the number of valid hwirqs; the two are different due to the hwirq space being sparse. * Added the interrupt controller DT node to the top-level of the DT, rather than nesting it inside a /axi node. Hence, changed the reg value since /axi had a ranges property. This seems simpler to me, but I'm not sure if everyone will like this change or not. * Don't set struct irq_domain_ops.map = irq_domain_simple_map, hence removing the need to patch include/linux/irqdomain.h or kernel/irq/irqdomain.c. * Simplified armctrl_of_init() using of_iomap(). * Removed unused IS_VALID_BANK()/IS_VALID_IRQ() macros. * Renamed armctrl_handle_irq() to prevent possible symbol clashes. * Made armctrl_of_init() static. * Removed comment "Each bank is registered as a separate interrupt controller" since this is no longer true. * Removed FSF address from license header. * Added my name to copyright header. Signed-off-by: Chris Boot <bootc@bootc.net> Signed-off-by: Simon Arlott <simon@fire.lp0.eu> Signed-off-by: Dom Cobley <popcornmix@gmail.com> Signed-off-by: Dom Cobley <dc4@broadcom.com> Signed-off-by: Stephen Warren <swarren@wwwdotorg.org> Acked-by: Arnd Bergmann <arnd@arndb.de>
143 lines
3.9 KiB
Makefile
143 lines
3.9 KiB
Makefile
#
|
|
# Makefile for the Linux kernel device drivers.
|
|
#
|
|
# 15 Sep 2000, Christoph Hellwig <hch@infradead.org>
|
|
# Rewritten to use lists instead of if-statements.
|
|
#
|
|
|
|
obj-y += irqchip/
|
|
|
|
# GPIO must come after pinctrl as gpios may need to mux pins etc
|
|
obj-y += pinctrl/
|
|
obj-y += gpio/
|
|
obj-y += pwm/
|
|
obj-$(CONFIG_PCI) += pci/
|
|
obj-$(CONFIG_PARISC) += parisc/
|
|
obj-$(CONFIG_RAPIDIO) += rapidio/
|
|
obj-y += video/
|
|
obj-y += idle/
|
|
obj-$(CONFIG_ACPI) += acpi/
|
|
obj-$(CONFIG_SFI) += sfi/
|
|
# PnP must come after ACPI since it will eventually need to check if acpi
|
|
# was used and do nothing if so
|
|
obj-$(CONFIG_PNP) += pnp/
|
|
obj-y += amba/
|
|
# Many drivers will want to use DMA so this has to be made available
|
|
# really early.
|
|
obj-$(CONFIG_DMA_ENGINE) += dma/
|
|
|
|
obj-$(CONFIG_VIRTIO) += virtio/
|
|
obj-$(CONFIG_XEN) += xen/
|
|
|
|
# regulators early, since some subsystems rely on them to initialize
|
|
obj-$(CONFIG_REGULATOR) += regulator/
|
|
|
|
# tty/ comes before char/ so that the VT console is the boot-time
|
|
# default.
|
|
obj-y += tty/
|
|
obj-y += char/
|
|
|
|
# gpu/ comes after char for AGP vs DRM startup
|
|
obj-y += gpu/
|
|
|
|
obj-$(CONFIG_CONNECTOR) += connector/
|
|
|
|
# i810fb and intelfb depend on char/agp/
|
|
obj-$(CONFIG_FB_I810) += video/i810/
|
|
obj-$(CONFIG_FB_INTEL) += video/intelfb/
|
|
|
|
obj-$(CONFIG_PARPORT) += parport/
|
|
obj-y += base/ block/ misc/ mfd/ nfc/
|
|
obj-$(CONFIG_NUBUS) += nubus/
|
|
obj-y += macintosh/
|
|
obj-$(CONFIG_IDE) += ide/
|
|
obj-$(CONFIG_SCSI) += scsi/
|
|
obj-$(CONFIG_ATA) += ata/
|
|
obj-$(CONFIG_TARGET_CORE) += target/
|
|
obj-$(CONFIG_MTD) += mtd/
|
|
obj-$(CONFIG_SPI) += spi/
|
|
obj-y += hsi/
|
|
obj-y += net/
|
|
obj-$(CONFIG_ATM) += atm/
|
|
obj-$(CONFIG_FUSION) += message/
|
|
obj-y += firewire/
|
|
obj-$(CONFIG_UIO) += uio/
|
|
obj-$(CONFIG_VFIO) += vfio/
|
|
obj-y += cdrom/
|
|
obj-y += auxdisplay/
|
|
obj-$(CONFIG_PCCARD) += pcmcia/
|
|
obj-$(CONFIG_DIO) += dio/
|
|
obj-$(CONFIG_SBUS) += sbus/
|
|
obj-$(CONFIG_ZORRO) += zorro/
|
|
obj-$(CONFIG_MAC) += macintosh/
|
|
obj-$(CONFIG_ATA_OVER_ETH) += block/aoe/
|
|
obj-$(CONFIG_PARIDE) += block/paride/
|
|
obj-$(CONFIG_TC) += tc/
|
|
obj-$(CONFIG_UWB) += uwb/
|
|
obj-$(CONFIG_USB_OTG_UTILS) += usb/
|
|
obj-$(CONFIG_USB) += usb/
|
|
obj-$(CONFIG_PCI) += usb/
|
|
obj-$(CONFIG_USB_GADGET) += usb/
|
|
obj-$(CONFIG_SERIO) += input/serio/
|
|
obj-$(CONFIG_GAMEPORT) += input/gameport/
|
|
obj-$(CONFIG_INPUT) += input/
|
|
obj-$(CONFIG_I2O) += message/
|
|
obj-$(CONFIG_RTC_LIB) += rtc/
|
|
obj-y += i2c/ media/
|
|
obj-$(CONFIG_PPS) += pps/
|
|
obj-$(CONFIG_PTP_1588_CLOCK) += ptp/
|
|
obj-$(CONFIG_W1) += w1/
|
|
obj-$(CONFIG_POWER_SUPPLY) += power/
|
|
obj-$(CONFIG_HWMON) += hwmon/
|
|
obj-$(CONFIG_THERMAL) += thermal/
|
|
obj-$(CONFIG_WATCHDOG) += watchdog/
|
|
obj-$(CONFIG_MD) += md/
|
|
obj-$(CONFIG_BT) += bluetooth/
|
|
obj-$(CONFIG_ACCESSIBILITY) += accessibility/
|
|
obj-$(CONFIG_ISDN) += isdn/
|
|
obj-$(CONFIG_EDAC) += edac/
|
|
obj-$(CONFIG_EISA) += eisa/
|
|
obj-y += lguest/
|
|
obj-$(CONFIG_CPU_FREQ) += cpufreq/
|
|
obj-$(CONFIG_CPU_IDLE) += cpuidle/
|
|
obj-y += mmc/
|
|
obj-$(CONFIG_MEMSTICK) += memstick/
|
|
obj-y += leds/
|
|
obj-$(CONFIG_INFINIBAND) += infiniband/
|
|
obj-$(CONFIG_SGI_SN) += sn/
|
|
obj-y += firmware/
|
|
obj-$(CONFIG_CRYPTO) += crypto/
|
|
obj-$(CONFIG_SUPERH) += sh/
|
|
obj-$(CONFIG_ARCH_SHMOBILE) += sh/
|
|
ifndef CONFIG_ARCH_USES_GETTIMEOFFSET
|
|
obj-y += clocksource/
|
|
endif
|
|
obj-$(CONFIG_DCA) += dca/
|
|
obj-$(CONFIG_HID) += hid/
|
|
obj-$(CONFIG_PPC_PS3) += ps3/
|
|
obj-$(CONFIG_OF) += of/
|
|
obj-$(CONFIG_SSB) += ssb/
|
|
obj-$(CONFIG_BCMA) += bcma/
|
|
obj-$(CONFIG_VHOST_NET) += vhost/
|
|
obj-$(CONFIG_VLYNQ) += vlynq/
|
|
obj-$(CONFIG_STAGING) += staging/
|
|
obj-y += platform/
|
|
obj-y += ieee802154/
|
|
#common clk code
|
|
obj-y += clk/
|
|
|
|
obj-$(CONFIG_HWSPINLOCK) += hwspinlock/
|
|
obj-$(CONFIG_NFC) += nfc/
|
|
obj-$(CONFIG_IOMMU_SUPPORT) += iommu/
|
|
obj-$(CONFIG_REMOTEPROC) += remoteproc/
|
|
obj-$(CONFIG_RPMSG) += rpmsg/
|
|
|
|
# Virtualization drivers
|
|
obj-$(CONFIG_VIRT_DRIVERS) += virt/
|
|
obj-$(CONFIG_HYPERV) += hv/
|
|
|
|
obj-$(CONFIG_PM_DEVFREQ) += devfreq/
|
|
obj-$(CONFIG_EXTCON) += extcon/
|
|
obj-$(CONFIG_MEMORY) += memory/
|
|
obj-$(CONFIG_IIO) += iio/
|
|
obj-$(CONFIG_VME_BUS) += vme/
|