History log of /arch/powerpc/platforms/52xx/mpc52xx_pic.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
9f70b8eb3cd37c6ef3371f972db799250e3eb86e 26-Jan-2012 Grant Likely <grant.likely@secretlab.ca> irq_domain/powerpc: constify irq_domain_ops

Make all the irq_domain_ops structures in powerpc 'static const'

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Milton Miller <miltonm@bga.com>
Tested-by: Olof Johansson <olof@lixom.net>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
a8db8cf0d894df5f1dcfd4bce9894e0dbcc01c96 14-Feb-2012 Grant Likely <grant.likely@secretlab.ca> irq_domain: Replace irq_alloc_host() with revmap-specific initializers

Each revmap type has different arguments for setting up the revmap.
This patch splits up the generator functions so that each revmap type
can do its own setup and the user doesn't need to keep track of how
each revmap type handles the arguments.

This patch also adds a host_data argument to the generators. There are
cases where the host_data pointer will be needed before the function returns.
ie. the legacy map calls the .map callback for each irq before returning.

v2: - Add void *host_data argument to irq_domain_add_*() functions
- fixed failure to compile
- Moved IRQ_DOMAIN_MAP_* defines into irqdomain.c

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Cc: Rob Herring <rob.herring@calxeda.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Milton Miller <miltonm@bga.com>
Tested-by: Olof Johansson <olof@lixom.net>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
bae1d8f19983fbfa25559aa3cb6a81a84aa82a18 14-Feb-2012 Grant Likely <grant.likely@secretlab.ca> irq_domain/powerpc: Use common irq_domain structure instead of irq_host

This patch drops the powerpc-specific irq_host structures and uses the common
irq_domain strucutres defined in linux/irqdomain.h. It also fixes all
the users to use the new structure names.

Renaming irq_host to irq_domain has been discussed for a long time, and this
patch is a step in the process of generalizing the powerpc virq code to be
usable by all architecture.

An astute reader will notice that this patch actually removes the irq_host
structure instead of renaming it. This is because the irq_domain structure
already exists in include/linux/irqdomain.h and has the needed data members.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Milton Miller <miltonm@bga.com>
Tested-by: Olof Johansson <olof@lixom.net>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
67347eba156d64150be73c9f5797342a66b123d9 10-May-2011 Milton Miller <miltonm@bga.com> powerpc/mpc62xx_pic: Fix get_irq handling of NO_IRQ

If none of irq category bits were set mpc52xx_get_irq() would pass
NO_IRQ_IGNORE (-1) to irq_linear_revmap, which does an unsigned compare
and declares the interrupt above the linear map range. It then punts
to irq_find_mapping, which performs a linear search of all irqs,
which will likely miss and only then return NO_IRQ.

If no status bit is set, then we should return NO_IRQ directly.
The interrupt should not be suppressed from spurious counting, in fact
that is the definition of supurious.

Signed-off-by: Milton Miller <miltonm@bga.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
476eb4912601a8c01e6702b9a029f476b4b131d2 04-May-2011 Grant Likely <grant.likely@secretlab.ca> powerpc/irq: Stop exporting irq_map

First step in eliminating irq_map[] table entirely

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
25985edcedea6396277003854657b5f3cb31a628 31-Mar-2011 Lucas De Marchi <lucas.demarchi@profusion.mobi> Fix common misspellings

Fixes generated by 'codespell' and manually reviewed.

Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
ec775d0e70eb6b7116406b3441cb8501c2849dd2 25-Mar-2011 Thomas Gleixner <tglx@linutronix.de> powerpc: Convert to new irq_* function names

Scripted with coccinelle.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
8a2df7a0390ad7f02b10a66ede632bc9eee08876 08-Mar-2011 Lennert Buytenhek <buytenh@wantstofly.org> powerpc: platforms/52xx irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
40d50cf7ca956183f3a573bc21082e1c7d04fa7b 08-Dec-2009 Roman Fietze <roman.fietze@telemotive.de> powerpc: Make "intspec" pointers in irq_host->xlate() const

Writing a driver using SCLPC on the MPC5200B I detected, that the
intspec arrays to map irqs to Linux virq cannot be const, because the
mapping and xlate functions only take non const pointers. All those
functions do not modify the intspec, so a const pointer could be used.

Signed-off-by: Roman Fietze <roman.fietze@telemotive.de>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
b27df67248d3ae61d7814f18e363954254935090 19-Nov-2009 Thomas Gleixner <tglx@linutronix.de> powerpc: Fixup last users of irq_chip->typename

The typename member of struct irq_chip was kept for migration purposes
and is obsolete since more than 2 years. Fix up the leftovers.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: linuxppc-dev@ozlabs.org
Acked-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
8f2558ded599c10d96a56fbf12849a27f6ab7997 04-Feb-2009 Grant Likely <grant.likely@secretlab.ca> powerpc/5200: Refactor mpc5200 interrupt controller driver

Rework the mpc5200-pic driver to simplify it and fix up the setting
of desc->status when set_type is called for internal IRQs (so they
are reported as level, not edge). The simplification is due to
splitting off the handling of external IRQs into a separate block
so they don't need to be handled as exceptions in the normal
CRIT, MAIN and PERP paths.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
bc4346fe2733dcca723d6b8f188bc44b54eac847 04-Feb-2009 Grant Likely <grant.likely@secretlab.ca> powerpc/5200: Remove pr_debug() from hot paths in irq driver

pr_debug() calls in the 'hot' *_mask(), *_unmask(), *_ack() and
get_irq() makes adding #define DEBUG pretty much useless. Remove
these calls because they completely swamp the output.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Reviewed-by: Wolfram Sang <w.sang@pengutronix.de>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
d30239a0ef2000cfae6c60f8e870da2d8dba4d22 09-Jan-2009 Grant Likely <grant.likely@secretlab.ca> powerpc/mpc52xx: Properly update irq_desc when set_type() is called.

The MPC5200 PIC driver doesn't correctly update the .status field of
the irq_desc structure when the set_type hook is called. This patch
adds the required code.

Also cleans up the external IRQ typename field to be something easier
to read (very minor).

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
dd952cbb3dae9ea2dc47cc902b796e1e2bf806f0 21-Dec-2008 Grant Likely <grant.likely@secretlab.ca> powerpc/mpc5200: Make internal 5200 PIC the default interrupt controller

The MPC5200 internal interrupt controller setup function needs to set
the default interrupt controller when it is called. Without this
irq_create_of_mapping() cannot be called without first determining
the pointer to the irq controller (ie. call with controller = NULL).

Reported-by: Steven Cavanagh <scavanagh@secretlab.ca>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
bcb73f5611c1946db768a1c219d205b3bf90f4a5 21-Dec-2008 Grant Likely <grant.likely@secretlab.ca> powerpc/mpc5200: Document and tidy irq driver

This patch adds documentation to the mpc5200 interrupt controller
driver and cleans up some minor coding conventions. It also moves the
contents of mpc52xx_pic.h into the driver proper (except for a small
common bit that is moved to the common mpc52xx.h) because the
information encoded there is not required by any other part of kernel
code. Finally for code readability sake, the L2_OFFSET shift value
is removed because the code using it resolves to a noop.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
f800ab44f5cd094743dc3df371bcf986375f5774 15-Apr-2008 Sascha Hauer <s.hauer@pengutronix.de> [POWERPC] mpc5200: add interrupt type function

Add a set_type function for external (GPIO) interrupts.

Signed-off-by: Juergen Beisert <j.beisert@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
66ffbe490b6156898364b3f20a571a78f8d77bc8 25-Jan-2008 Grant Likely <grant.likely@secretlab.ca> [POWERPC] mpc5200: normalize compatible property bindings

Update MPC5200 drivers to also look for compatible properties in the
form "fsl,mpc5200-*" to better conform to open firmware generic names
recommended practice as published here:

http://www.openfirmware.org/1275/practice/gnames/gnamv14a.html

This patch should *not* break compatibility with older device trees
which do not use the 'fsl,' prefix. The drivers will still bind against
the older names also.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
75ca399e82726fba877f3cce7ee49c13b43efd67 18-Jan-2008 Grant Likely <grant.likely@secretlab.ca> [POWERPC] mpc5200: eliminate mpc52xx_*_map_*() functions.

mpc5200 platform code defines a bunch of map functions which duplicate the
functionality of of_iomap(). Remove them and use of_iomap() instead.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
9fe2e7969d5e5af7dbd2086f2e18f4ebc585490d 10-Oct-2007 Grant Likely <grant.likely@secretlab.ca> [POWERPC] MPC52xx: Trim includes on mpc5200 platform support code

Drop unnecessary includes for MPC5200 based boards

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Sylvain Munaut <tnt@246tnt.com>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
6815800601d3e46b976c868e4e85fb6de32b9133 28-Aug-2007 Michael Ellerman <michael@ellerman.id.au> [POWERPC] Provide a default irq_host match, which matches on an exact of_node

The most common match semantic is an exact match based on the device node.
So provide a default implementation that does this, and hook it up if no
match routine is specified.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
52964f87c64e6c6ea671b5bf3030fb1494090a48 28-Aug-2007 Michael Ellerman <michael@ellerman.id.au> [POWERPC] Add an optional device_node pointer to the irq_host

The majority of irq_host implementations (3 out of 4) are associated
with a device_node, and need to stash it somewhere. Rather than having
it somewhere different for each host, add an optional device_node pointer
to the irq_host structure.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
9420dc65ff9e6b67c032286efde823aeb8684670 30-Jul-2007 Jesper Juhl <jesper.juhl@gmail.com> [POWERPC] Clean out a bunch of duplicate includes

This removes several duplicate includes from arch/powerpc/.

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
22132178b26c907d19f661a4ae7fd265962d417e 11-Apr-2007 Domen Puncer <domen.puncer@telargo.com> [POWERPC] mpc52xx_pic: fix main interrupt masking

The bit setting was off by one.
Tested with RTC and GPIO_WKUP interrupts.

Signed-off-by: Domen Puncer <domen.puncer@telargo.com>
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
e3aba81d154c53a82e2a7e0ff5e7f1162a53cf27 12-Feb-2007 Grant Likely <grant.likely@secretlab.ca> [POWERPC] Fixup mp5200 drivers to match device tree changes

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Paul Mackerras <paulus@samba.org>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
6065170cf75c64267f6edec5fd359ce8444bd13d 27-Nov-2006 Grant Likely <grant.likely@secretlab.ca> [POWERPC] Add common routines for 52xx support in arch/powerpc

Adds utility routines used by 52xx device drivers and board support
code. Main functionality is to add device nodes to the of_platform_bus,
retrieve the IPB bus frequency, and find+ioremap device registers.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
e65fdfd6ca447353ad1b4c0a0d20df55f3f6f233 27-Nov-2006 Sylvain Munaut <tnt@246tNt.com> [POWERPC] Separate IRQ config / register set from main header

There is no need to expose these settings outside the scope
of the interrupt controller code itself.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Paul Mackerras <paulus@samba.org>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c
39d074b2e4b89c914c00dfd9987672e2dea92f19 27-Nov-2006 Grant Likely <grant.likely@secretlab.ca> [POWERPC] Move MPC52xx PIC driver into arch/powerpc/platforms/52xx

No other chips use this device, it belongs in a 52xx-specific path.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
/arch/powerpc/platforms/52xx/mpc52xx_pic.c