diff options
Diffstat (limited to 'arch/powerpc')
| -rw-r--r-- | arch/powerpc/boot/dts/mpc5200b.dtsi | 6 | ||||
| -rw-r--r-- | arch/powerpc/boot/dts/o2d.dtsi | 6 | ||||
| -rw-r--r-- | arch/powerpc/boot/dts/pcm030.dts | 7 | ||||
| -rw-r--r-- | arch/powerpc/platforms/52xx/mpc52xx_pic.c | 9 | ||||
| -rw-r--r-- | arch/powerpc/platforms/pseries/eeh_pe.c | 2 | ||||
| -rw-r--r-- | arch/powerpc/platforms/pseries/msi.c | 3 | 
6 files changed, 20 insertions, 13 deletions
diff --git a/arch/powerpc/boot/dts/mpc5200b.dtsi b/arch/powerpc/boot/dts/mpc5200b.dtsi index 7ab286ab530..39ed65a44c5 100644 --- a/arch/powerpc/boot/dts/mpc5200b.dtsi +++ b/arch/powerpc/boot/dts/mpc5200b.dtsi @@ -231,6 +231,12 @@  			interrupts = <2 7 0>;  		}; +		sclpc@3c00 { +			compatible = "fsl,mpc5200-lpbfifo"; +			reg = <0x3c00 0x60>; +			interrupts = <2 23 0>; +		}; +  		i2c@3d00 {  			#address-cells = <1>;  			#size-cells = <0>; diff --git a/arch/powerpc/boot/dts/o2d.dtsi b/arch/powerpc/boot/dts/o2d.dtsi index 3444eb8f0ad..24f66803929 100644 --- a/arch/powerpc/boot/dts/o2d.dtsi +++ b/arch/powerpc/boot/dts/o2d.dtsi @@ -86,12 +86,6 @@  				reg = <0>;  			};  		}; - -		sclpc@3c00 { -			compatible = "fsl,mpc5200-lpbfifo"; -			reg = <0x3c00 0x60>; -			interrupts = <3 23 0>; -		};  	};  	localbus { diff --git a/arch/powerpc/boot/dts/pcm030.dts b/arch/powerpc/boot/dts/pcm030.dts index 9e354997eb7..96512c05803 100644 --- a/arch/powerpc/boot/dts/pcm030.dts +++ b/arch/powerpc/boot/dts/pcm030.dts @@ -59,7 +59,7 @@  			#gpio-cells = <2>;  		}; -		psc@2000 { /* PSC1 in ac97 mode */ +		audioplatform: psc@2000 { /* PSC1 in ac97 mode */  			compatible = "mpc5200b-psc-ac97","fsl,mpc5200b-psc-ac97";  			cell-index = <0>;  		}; @@ -134,4 +134,9 @@  	localbus {  		status = "disabled";  	}; + +	sound { +		compatible = "phytec,pcm030-audio-fabric"; +		asoc-platform = <&audioplatform>; +	};  }; diff --git a/arch/powerpc/platforms/52xx/mpc52xx_pic.c b/arch/powerpc/platforms/52xx/mpc52xx_pic.c index 8520b58a5e9..b89ef65392d 100644 --- a/arch/powerpc/platforms/52xx/mpc52xx_pic.c +++ b/arch/powerpc/platforms/52xx/mpc52xx_pic.c @@ -372,10 +372,11 @@ static int mpc52xx_irqhost_map(struct irq_domain *h, unsigned int virq,  	case MPC52xx_IRQ_L1_MAIN: irqchip = &mpc52xx_main_irqchip; break;  	case MPC52xx_IRQ_L1_PERP: irqchip = &mpc52xx_periph_irqchip; break;  	case MPC52xx_IRQ_L1_SDMA: irqchip = &mpc52xx_sdma_irqchip; break; -	default: -		pr_err("%s: invalid irq: virq=%i, l1=%i, l2=%i\n", -		       __func__, virq, l1irq, l2irq); -		return -EINVAL; +	case MPC52xx_IRQ_L1_CRIT: +		pr_warn("%s: Critical IRQ #%d is unsupported! Nopping it.\n", +			__func__, l2irq); +		irq_set_chip(virq, &no_irq_chip); +		return 0;  	}  	irq_set_chip_and_handler(virq, irqchip, handle_level_irq); diff --git a/arch/powerpc/platforms/pseries/eeh_pe.c b/arch/powerpc/platforms/pseries/eeh_pe.c index 797cd181dc3..d16c8ded108 100644 --- a/arch/powerpc/platforms/pseries/eeh_pe.c +++ b/arch/powerpc/platforms/pseries/eeh_pe.c @@ -449,7 +449,7 @@ int eeh_rmv_from_parent_pe(struct eeh_dev *edev, int purge_pe)  			if (list_empty(&pe->edevs)) {  				cnt = 0;  				list_for_each_entry(child, &pe->child_list, child) { -					if (!(pe->type & EEH_PE_INVALID)) { +					if (!(child->type & EEH_PE_INVALID)) {  						cnt++;  						break;  					} diff --git a/arch/powerpc/platforms/pseries/msi.c b/arch/powerpc/platforms/pseries/msi.c index d19f4977c83..e5b08472313 100644 --- a/arch/powerpc/platforms/pseries/msi.c +++ b/arch/powerpc/platforms/pseries/msi.c @@ -220,7 +220,8 @@ static struct device_node *find_pe_dn(struct pci_dev *dev, int *total)  	/* Get the top level device in the PE */  	edev = of_node_to_eeh_dev(dn); -	edev = list_first_entry(&edev->pe->edevs, struct eeh_dev, list); +	if (edev->pe) +		edev = list_first_entry(&edev->pe->edevs, struct eeh_dev, list);  	dn = eeh_dev_to_of_node(edev);  	if (!dn)  		return NULL;  |