Re: [PATCH 1/2] irqchip: omap-intc: Fix support for dm814 and dm816

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jan 13, 2015 at 02:23:25PM -0800, Tony Lindgren wrote:
> On dm81xx we have 128 interrupts like am33xx has. Let's add
> compatible flags for dm814x and dm816x, and document the
> existing binding.
> 
> As the dm81xx are booting in device tree only mode, we can now
> also remove ti81xx_init_irq() legacy function.
> 
> Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx>
> Cc: Felipe Balbi <balbi@xxxxxx>
> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>

Thanks for documenting the binding :-s

Reviewed-by: Felipe Balbi <balbi@xxxxxx>
Acked-by: Felipe Balbi <balbi@xxxxxx>

> ---
>  .../interrupt-controller/ti,omap-intc-irq.txt      | 28 ++++++++++++++++++++++
>  drivers/irqchip/irq-omap-intc.c                    | 14 ++++-------
>  include/linux/irqchip/irq-omap-intc.h              |  1 -
>  3 files changed, 33 insertions(+), 10 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/interrupt-controller/ti,omap-intc-irq.txt
> 
> diff --git a/Documentation/devicetree/bindings/interrupt-controller/ti,omap-intc-irq.txt b/Documentation/devicetree/bindings/interrupt-controller/ti,omap-intc-irq.txt
> new file mode 100644
> index 0000000..38ce5d03
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/interrupt-controller/ti,omap-intc-irq.txt
> @@ -0,0 +1,28 @@
> +Omap2/3 intc controller
> +
> +On TI omap2 and 3 the intc interrupt controller can provide
> +96 or 128 IRQ signals to the ARM host depending on the SoC.
> +
> +Required Properties:
> +- compatible: should be one of
> +			"ti,omap2-intc"
> +			"ti,omap3-intc"
> +			"ti,dm814-intc"
> +			"ti,dm816-intc"
> +			"ti,am33xx-intc"
> +
> +- interrupt-controller : Identifies the node as an interrupt controller
> +- #interrupt-cells : Specifies the number of cells needed to encode interrupt
> +		     source, should be 1 for intc
> +- interrupts: interrupt reference to primary interrupt controller
> +
> +Please refer to interrupts.txt in this directory for details of the common
> +Interrupt Controllers bindings used by client devices.
> +
> +Example:
> +	intc: interrupt-controller@48200000 {
> +		compatible = "ti,omap3-intc";
> +		interrupt-controller;
> +		#interrupt-cells = <1>;
> +		reg = <0x48200000 0x1000>;
> +	};
> diff --git a/drivers/irqchip/irq-omap-intc.c b/drivers/irqchip/irq-omap-intc.c
> index 28718d3..b75a44a 100644
> --- a/drivers/irqchip/irq-omap-intc.c
> +++ b/drivers/irqchip/irq-omap-intc.c
> @@ -364,14 +364,6 @@ void __init omap3_init_irq(void)
>  	set_handle_irq(omap_intc_handle_irq);
>  }
>  
> -void __init ti81xx_init_irq(void)
> -{
> -	omap_nr_irqs = 96;
> -	omap_nr_pending = 4;
> -	omap_init_irq(OMAP34XX_IC_BASE, NULL);
> -	set_handle_irq(omap_intc_handle_irq);
> -}
> -
>  static int __init intc_of_init(struct device_node *node,
>  			     struct device_node *parent)
>  {
> @@ -383,7 +375,9 @@ static int __init intc_of_init(struct device_node *node,
>  	if (WARN_ON(!node))
>  		return -ENODEV;
>  
> -	if (of_device_is_compatible(node, "ti,am33xx-intc")) {
> +	if (of_device_is_compatible(node, "ti,dm814-intc") ||
> +	    of_device_is_compatible(node, "ti,dm816-intc") ||
> +	    of_device_is_compatible(node, "ti,am33xx-intc")) {
>  		omap_nr_irqs = 128;
>  		omap_nr_pending = 4;
>  	}
> @@ -399,4 +393,6 @@ static int __init intc_of_init(struct device_node *node,
>  
>  IRQCHIP_DECLARE(omap2_intc, "ti,omap2-intc", intc_of_init);
>  IRQCHIP_DECLARE(omap3_intc, "ti,omap3-intc", intc_of_init);
> +IRQCHIP_DECLARE(dm814x_intc, "ti,dm814-intc", intc_of_init);
> +IRQCHIP_DECLARE(dm816x_intc, "ti,dm816-intc", intc_of_init);
>  IRQCHIP_DECLARE(am33xx_intc, "ti,am33xx-intc", intc_of_init);
> diff --git a/include/linux/irqchip/irq-omap-intc.h b/include/linux/irqchip/irq-omap-intc.h
> index e06b370..bda426a 100644
> --- a/include/linux/irqchip/irq-omap-intc.h
> +++ b/include/linux/irqchip/irq-omap-intc.h
> @@ -20,7 +20,6 @@
>  
>  void omap2_init_irq(void);
>  void omap3_init_irq(void);
> -void ti81xx_init_irq(void);
>  
>  int omap_irq_pending(void);
>  void omap_intc_save_context(void);
> -- 
> 2.1.4
> 

-- 
balbi

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux