sh: mach-se: Migrate 7724SE off of deprecated dynamic IRQ API.

The generic hardirq layer provides all of the routines that we need these
days, so we don't require any of the dynamic IRQ API wrapping, and can
call in to irq_alloc_descs() directly.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
sh: hd64461: Migrate off of deprecated dynamic IRQ API.

Switches from create_irq_nr() to irq_alloc_descs().

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
sh: dreamcast: Migrate off of deprecated dynamic IRQ API.

Switches from create_irq_nr() to irq_alloc_descs().

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
sh: Kill off now unused arch_probe_nr_irqs().

Now that legacy pre-allocation is done away with, we can just use the
generic stub in kernel/softirq.c.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
sh64: Convert to unwinder API.

This switches over to use the sh unwinder API which brings it all in line
with the general sh routines (which we shuffle around at the same time),
and lets us kill off more sh64-specific cruft.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
sh64: Ensure KALLSYMS is enabled for unwinder use.

Since sh64 depends on kallsyms unconditionally for its stack unwinding to
be of any use, make sure it's selected. In practice we don't have any
case where it's disabled anyways, so moving to this to a select is fine.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
sh: mach-x3proto: Migrate to linear irq domain.

In the interest of getting off of the create_irq() API we can get all of
the functionality we're interested in through a linear IRQ domain. Fairly
straightforward conversion utilizing a single linear domain.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
sh: se722: Move FPGA IRQs to irqdomain and generic irq chip.

This implements a total rewrite of the rather buggy SE7722 FPGA IRQ code,
utilizing a linear irq domain as well as the generic irq chip type.

While the interaction between the two APIs is a bit clunky (ie, revmap
lookup for gc irq_base), they work well enough together that it's easy
enough to work with going forward.

While we're at it, deal with irq_mask_ack/unmask of the chained IRQ in
the demux handler to prevent smc91x screaming about spurious interrupts.

There's also some more improvement that can be made to the irqdomain code
to create backing irqdescs for the entire linear range in one bang
instead of iterating over the number of hwirqs and doing it
irq-at-a-time. This is easily dealt with at a later point, though.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
sh: se7343: Move CPLD IRQs to irqdomain and generic irq chip.

Follows the se7722 change, see there for more information.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
sh: intc: Kill off deprecated dynamic IRQ API.

Now that all of the users have been converted away, kill off the remnants
of the old API.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
sh: clkfwk: Move to common clk_div_table accessors for div4/div6.

This plugs in a generic clk_div_table, based on the div4 version. div6 is
then adopted to use it for encapsulating its div table, which permits us
to start div6/4 unification, as well as preparation for other div types.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
sh: clkfwk: Introduce a div_mask for variable div types.

This plugs in a div_mask for the clock and sets it up for the existing
div6/4 cases. This will make it possible to support other div types, as
well as share more div6/4 infrastructure.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
sh: clkfwk: Use shared sh_clk_div_recalc().

This generalizes the div4 recalc routine for use by div6 and others, then
makes it the default.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
sh: clkfwk: Use shared sh_clk_div_set_rate()

Follows the sh_clk_div_recalc() change.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
sh: clkfwk: Use shared sh_clk_div_enable/disable().

This introduces a new flag for clocks that need to have their divisor
ratio set back to their initial mask at disable time to prevent
interactivity problems with the clock stop bit (presently div6 only).
With this in place it's possible to handle the corner case on top of the
div4 op without any particular need for leaving things split out.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
sh: clkfwk: Consolidate div6/div4 clk_ops definitions.

Everything with the exception of the _reparent ops are now shared, so
switch everything over to common types.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
sh: clkfwk: Consolidate div clk registration helper.

This consolidates the div6/4 versions of the clk registration wrapper.
The existing wrappers with their own sh_clk_ops are maintained for API
compatability, though in the future it should be possible to be rid of
them entirely.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
KEYS: Fix some sparse warnings

Fix some sparse warnings in the keyrings code:

 (1) compat_keyctl_instantiate_key_iov() should be static.

 (2) There were a couple of places where a pointer was being compared against
     integer 0 rather than NULL.

 (3) keyctl_instantiate_key_common() should not take a __user-labelled iovec
     pointer as the caller must have copied the iovec to kernel space.

 (4) __key_link_begin() takes and __key_link_end() releases
     keyring_serialise_link_sem under some circumstances and so this should be
     declared.

     Note that adding __acquires() and __releases() for this doesn't help cure
     the warnings messages - something only commenting out both helps.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <james.l.morris@oracle.com>
Revert "crypto: GnuPG based MPI lib - additional sources (part 4)"

This reverts commit 7e8dec918ef8e0f68b4937c3c50fa57002077a4d.

RSA verification implementation does not use this code.
James Morris has asked to remove that.

Signed-off-by: Dmitry Kasatkin <dmitry.kasatkin@intel.com>
Requested-by: James Morris <james.l.morris@oracle.com>
Signed-off-by: James Morris <james.l.morris@oracle.com>
Remove unused code from MPI library

MPI library is used by RSA verification implementation.
Few files contains functions which are never called.

James Morris has asked to remove all of them.

Signed-off-by: Dmitry Kasatkin <dmitry.kasatkin@intel.com>
Requested-by: James Morris <james.l.morris@oracle.com>
Signed-off-by: James Morris <james.l.morris@oracle.com>