diff options
Diffstat (limited to 'arch/powerpc/sysdev')
| -rw-r--r-- | arch/powerpc/sysdev/axonram.c | 12 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/bestcomm/bestcomm.c | 7 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/bestcomm/sram.c | 1 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/cpm1.c | 10 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/cpm_common.c | 5 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/dart_iommu.c | 8 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/fsl_gtm.c | 1 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/fsl_msi.c | 4 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/fsl_pci.c | 5 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/fsl_pmc.c | 3 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/fsl_rio.c | 6 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/fsl_soc.h | 1 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/micropatch.c | 30 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/mpc8xxx_gpio.c | 5 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/mpic.c | 20 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/mpic.h | 1 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/mv64x60_dev.c | 7 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/mv64x60_pci.c | 1 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/pmi.c | 6 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/ppc4xx_gpio.c | 5 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/qe_lib/gpio.c | 31 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/qe_lib/qe.c | 5 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/simple_gpio.c | 5 | 
23 files changed, 91 insertions, 88 deletions
diff --git a/arch/powerpc/sysdev/axonram.c b/arch/powerpc/sysdev/axonram.c index 402d2212162..2659a60bd7b 100644 --- a/arch/powerpc/sysdev/axonram.c +++ b/arch/powerpc/sysdev/axonram.c @@ -60,7 +60,7 @@  static int azfs_major, azfs_minor;  struct axon_ram_bank { -	struct of_device	*device; +	struct platform_device	*device;  	struct gendisk		*disk;  	unsigned int		irq_id;  	unsigned long		ph_addr; @@ -72,7 +72,7 @@ struct axon_ram_bank {  static ssize_t  axon_ram_sysfs_ecc(struct device *dev, struct device_attribute *attr, char *buf)  { -	struct of_device *device = to_of_device(dev); +	struct platform_device *device = to_platform_device(dev);  	struct axon_ram_bank *bank = device->dev.platform_data;  	BUG_ON(!bank); @@ -90,7 +90,7 @@ static DEVICE_ATTR(ecc, S_IRUGO, axon_ram_sysfs_ecc, NULL);  static irqreturn_t  axon_ram_irq_handler(int irq, void *dev)  { -	struct of_device *device = dev; +	struct platform_device *device = dev;  	struct axon_ram_bank *bank = device->dev.platform_data;  	BUG_ON(!bank); @@ -174,8 +174,8 @@ static const struct block_device_operations axon_ram_devops = {   * axon_ram_probe - probe() method for platform driver   * @device, @device_id: see of_platform_driver method   */ -static int -axon_ram_probe(struct of_device *device, const struct of_device_id *device_id) +static int axon_ram_probe(struct platform_device *device, +			  const struct of_device_id *device_id)  {  	static int axon_ram_bank_id = -1;  	struct axon_ram_bank *bank; @@ -304,7 +304,7 @@ failed:   * @device: see of_platform_driver method   */  static int -axon_ram_remove(struct of_device *device) +axon_ram_remove(struct platform_device *device)  {  	struct axon_ram_bank *bank = device->dev.platform_data; diff --git a/arch/powerpc/sysdev/bestcomm/bestcomm.c b/arch/powerpc/sysdev/bestcomm/bestcomm.c index a7c5c470af1..65025611506 100644 --- a/arch/powerpc/sysdev/bestcomm/bestcomm.c +++ b/arch/powerpc/sysdev/bestcomm/bestcomm.c @@ -365,8 +365,8 @@ bcom_engine_cleanup(void)  /* OF platform driver                                                       */  /* ======================================================================== */ -static int __devinit -mpc52xx_bcom_probe(struct of_device *op, const struct of_device_id *match) +static int __devinit mpc52xx_bcom_probe(struct platform_device *op, +					const struct of_device_id *match)  {  	struct device_node *ofn_sram;  	struct resource res_bcom; @@ -461,8 +461,7 @@ error_ofput:  } -static int -mpc52xx_bcom_remove(struct of_device *op) +static int mpc52xx_bcom_remove(struct platform_device *op)  {  	/* Clean up the engine */  	bcom_engine_cleanup(); diff --git a/arch/powerpc/sysdev/bestcomm/sram.c b/arch/powerpc/sysdev/bestcomm/sram.c index 5d74ef7a651..1225012a681 100644 --- a/arch/powerpc/sysdev/bestcomm/sram.c +++ b/arch/powerpc/sysdev/bestcomm/sram.c @@ -11,6 +11,7 @@   * kind, whether express or implied.   */ +#include <linux/err.h>  #include <linux/kernel.h>  #include <linux/module.h>  #include <linux/slab.h> diff --git a/arch/powerpc/sysdev/cpm1.c b/arch/powerpc/sysdev/cpm1.c index 8d103ca6d6a..00852124ff4 100644 --- a/arch/powerpc/sysdev/cpm1.c +++ b/arch/powerpc/sysdev/cpm1.c @@ -621,7 +621,6 @@ int cpm1_gpiochip_add16(struct device_node *np)  {  	struct cpm1_gpio16_chip *cpm1_gc;  	struct of_mm_gpio_chip *mm_gc; -	struct of_gpio_chip *of_gc;  	struct gpio_chip *gc;  	cpm1_gc = kzalloc(sizeof(*cpm1_gc), GFP_KERNEL); @@ -631,11 +630,9 @@ int cpm1_gpiochip_add16(struct device_node *np)  	spin_lock_init(&cpm1_gc->lock);  	mm_gc = &cpm1_gc->mm_gc; -	of_gc = &mm_gc->of_gc; -	gc = &of_gc->gc; +	gc = &mm_gc->gc;  	mm_gc->save_regs = cpm1_gpio16_save_regs; -	of_gc->gpio_cells = 2;  	gc->ngpio = 16;  	gc->direction_input = cpm1_gpio16_dir_in;  	gc->direction_output = cpm1_gpio16_dir_out; @@ -745,7 +742,6 @@ int cpm1_gpiochip_add32(struct device_node *np)  {  	struct cpm1_gpio32_chip *cpm1_gc;  	struct of_mm_gpio_chip *mm_gc; -	struct of_gpio_chip *of_gc;  	struct gpio_chip *gc;  	cpm1_gc = kzalloc(sizeof(*cpm1_gc), GFP_KERNEL); @@ -755,11 +751,9 @@ int cpm1_gpiochip_add32(struct device_node *np)  	spin_lock_init(&cpm1_gc->lock);  	mm_gc = &cpm1_gc->mm_gc; -	of_gc = &mm_gc->of_gc; -	gc = &of_gc->gc; +	gc = &mm_gc->gc;  	mm_gc->save_regs = cpm1_gpio32_save_regs; -	of_gc->gpio_cells = 2;  	gc->ngpio = 32;  	gc->direction_input = cpm1_gpio32_dir_in;  	gc->direction_output = cpm1_gpio32_dir_out; diff --git a/arch/powerpc/sysdev/cpm_common.c b/arch/powerpc/sysdev/cpm_common.c index 88b9812c854..2b69aa0315b 100644 --- a/arch/powerpc/sysdev/cpm_common.c +++ b/arch/powerpc/sysdev/cpm_common.c @@ -325,7 +325,6 @@ int cpm2_gpiochip_add32(struct device_node *np)  {  	struct cpm2_gpio32_chip *cpm2_gc;  	struct of_mm_gpio_chip *mm_gc; -	struct of_gpio_chip *of_gc;  	struct gpio_chip *gc;  	cpm2_gc = kzalloc(sizeof(*cpm2_gc), GFP_KERNEL); @@ -335,11 +334,9 @@ int cpm2_gpiochip_add32(struct device_node *np)  	spin_lock_init(&cpm2_gc->lock);  	mm_gc = &cpm2_gc->mm_gc; -	of_gc = &mm_gc->of_gc; -	gc = &of_gc->gc; +	gc = &mm_gc->gc;  	mm_gc->save_regs = cpm2_gpio32_save_regs; -	of_gc->gpio_cells = 2;  	gc->ngpio = 32;  	gc->direction_input = cpm2_gpio32_dir_in;  	gc->direction_output = cpm2_gpio32_dir_out; diff --git a/arch/powerpc/sysdev/dart_iommu.c b/arch/powerpc/sysdev/dart_iommu.c index c8b96ed7c01..559db2b846a 100644 --- a/arch/powerpc/sysdev/dart_iommu.c +++ b/arch/powerpc/sysdev/dart_iommu.c @@ -36,7 +36,7 @@  #include <linux/dma-mapping.h>  #include <linux/vmalloc.h>  #include <linux/suspend.h> -#include <linux/lmb.h> +#include <linux/memblock.h>  #include <linux/gfp.h>  #include <asm/io.h>  #include <asm/prom.h> @@ -232,7 +232,7 @@ static int __init dart_init(struct device_node *dart_node)  	 * that to work around what looks like a problem with the HT bridge  	 * prefetching into invalid pages and corrupting data  	 */ -	tmp = lmb_alloc(DART_PAGE_SIZE, DART_PAGE_SIZE); +	tmp = memblock_alloc(DART_PAGE_SIZE, DART_PAGE_SIZE);  	dart_emptyval = DARTMAP_VALID | ((tmp >> DART_PAGE_SHIFT) &  					 DARTMAP_RPNMASK); @@ -407,7 +407,7 @@ void __init alloc_dart_table(void)  	if (iommu_is_off)  		return; -	if (!iommu_force_on && lmb_end_of_DRAM() <= 0x40000000ull) +	if (!iommu_force_on && memblock_end_of_DRAM() <= 0x40000000ull)  		return;  	/* 512 pages (2MB) is max DART tablesize. */ @@ -416,7 +416,7 @@ void __init alloc_dart_table(void)  	 * will blow up an entire large page anyway in the kernel mapping  	 */  	dart_tablebase = (unsigned long) -		abs_to_virt(lmb_alloc_base(1UL<<24, 1UL<<24, 0x80000000L)); +		abs_to_virt(memblock_alloc_base(1UL<<24, 1UL<<24, 0x80000000L));  	printk(KERN_INFO "DART table allocated at: %lx\n", dart_tablebase);  } diff --git a/arch/powerpc/sysdev/fsl_gtm.c b/arch/powerpc/sysdev/fsl_gtm.c index eca4545dd52..7dd2885321a 100644 --- a/arch/powerpc/sysdev/fsl_gtm.c +++ b/arch/powerpc/sysdev/fsl_gtm.c @@ -14,6 +14,7 @@   */  #include <linux/kernel.h> +#include <linux/err.h>  #include <linux/errno.h>  #include <linux/list.h>  #include <linux/io.h> diff --git a/arch/powerpc/sysdev/fsl_msi.c b/arch/powerpc/sysdev/fsl_msi.c index 962c2d8dd8d..87991d3abba 100644 --- a/arch/powerpc/sysdev/fsl_msi.c +++ b/arch/powerpc/sysdev/fsl_msi.c @@ -250,7 +250,7 @@ unlock:  	raw_spin_unlock(&desc->lock);  } -static int fsl_of_msi_remove(struct of_device *ofdev) +static int fsl_of_msi_remove(struct platform_device *ofdev)  {  	struct fsl_msi *msi = ofdev->dev.platform_data;  	int virq, i; @@ -274,7 +274,7 @@ static int fsl_of_msi_remove(struct of_device *ofdev)  	return 0;  } -static int __devinit fsl_of_msi_probe(struct of_device *dev, +static int __devinit fsl_of_msi_probe(struct platform_device *dev,  				const struct of_device_id *match)  {  	struct fsl_msi *msi; diff --git a/arch/powerpc/sysdev/fsl_pci.c b/arch/powerpc/sysdev/fsl_pci.c index a14760fe513..209384b6e03 100644 --- a/arch/powerpc/sysdev/fsl_pci.c +++ b/arch/powerpc/sysdev/fsl_pci.c @@ -23,7 +23,7 @@  #include <linux/string.h>  #include <linux/init.h>  #include <linux/bootmem.h> -#include <linux/lmb.h> +#include <linux/memblock.h>  #include <linux/log2.h>  #include <linux/slab.h> @@ -190,7 +190,7 @@ static void __init setup_pci_atmu(struct pci_controller *hose,  	pr_info("%s: PCICSRBAR @ 0x%x\n", name, pcicsrbar);  	/* Setup inbound mem window */ -	mem = lmb_end_of_DRAM(); +	mem = memblock_end_of_DRAM();  	sz = min(mem, paddr_lo);  	mem_log = __ilog2_u64(sz); @@ -412,6 +412,7 @@ DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_P4080, quirk_fsl_pcie_header);  #endif /* CONFIG_FSL_SOC_BOOKE || CONFIG_PPC_86xx */  #if defined(CONFIG_PPC_83xx) || defined(CONFIG_PPC_MPC512x) +DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_MPC8308, quirk_fsl_pcie_header);  DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_MPC8314E, quirk_fsl_pcie_header);  DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_MPC8314, quirk_fsl_pcie_header);  DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_MPC8315E, quirk_fsl_pcie_header); diff --git a/arch/powerpc/sysdev/fsl_pmc.c b/arch/powerpc/sysdev/fsl_pmc.c index 9082eb921ad..44de8559c97 100644 --- a/arch/powerpc/sysdev/fsl_pmc.c +++ b/arch/powerpc/sysdev/fsl_pmc.c @@ -58,7 +58,8 @@ static struct platform_suspend_ops pmc_suspend_ops = {  	.enter = pmc_suspend_enter,  }; -static int pmc_probe(struct of_device *ofdev, const struct of_device_id *id) +static int pmc_probe(struct platform_device *ofdev, +		     const struct of_device_id *id)  {  	pmc_regs = of_iomap(ofdev->dev.of_node, 0);  	if (!pmc_regs) diff --git a/arch/powerpc/sysdev/fsl_rio.c b/arch/powerpc/sysdev/fsl_rio.c index 30e1626b2e8..6425abe5b7d 100644 --- a/arch/powerpc/sysdev/fsl_rio.c +++ b/arch/powerpc/sysdev/fsl_rio.c @@ -1332,13 +1332,13 @@ static inline void fsl_rio_info(struct device *dev, u32 ccsr)  /**   * fsl_rio_setup - Setup Freescale PowerPC RapidIO interface - * @dev: of_device pointer + * @dev: platform_device pointer   *   * Initializes MPC85xx RapidIO hardware interface, configures   * master port with system-specific info, and registers the   * master port with the RapidIO subsystem.   */ -int fsl_rio_setup(struct of_device *dev) +int fsl_rio_setup(struct platform_device *dev)  {  	struct rio_ops *ops;  	struct rio_mport *port; @@ -1536,7 +1536,7 @@ err_ops:  /* The probe function for RapidIO peer-to-peer network.   */ -static int __devinit fsl_of_rio_rpn_probe(struct of_device *dev, +static int __devinit fsl_of_rio_rpn_probe(struct platform_device *dev,  				     const struct of_device_id *match)  {  	int rc; diff --git a/arch/powerpc/sysdev/fsl_soc.h b/arch/powerpc/sysdev/fsl_soc.h index 42381bb6cd5..53609489a62 100644 --- a/arch/powerpc/sysdev/fsl_soc.h +++ b/arch/powerpc/sysdev/fsl_soc.h @@ -30,6 +30,7 @@ struct platform_diu_data_ops {  	void (*set_pixel_clock) (unsigned int pixclock);  	ssize_t (*show_monitor_port) (int monitor_port, char *buf);  	int (*set_sysfs_monitor_port) (int val); +	void (*release_bootmem) (void);  };  extern struct platform_diu_data_ops diu_ops; diff --git a/arch/powerpc/sysdev/micropatch.c b/arch/powerpc/sysdev/micropatch.c index d8d60284075..c0bb76ef724 100644 --- a/arch/powerpc/sysdev/micropatch.c +++ b/arch/powerpc/sysdev/micropatch.c @@ -4,6 +4,7 @@   * also relocates SMC2, but this would require additional changes   * to uart.c, so I am holding off on that for a moment.   */ +#include <linux/init.h>  #include <linux/errno.h>  #include <linux/sched.h>  #include <linux/kernel.h> @@ -16,6 +17,7 @@  #include <asm/page.h>  #include <asm/pgtable.h>  #include <asm/8xx_immap.h> +#include <asm/cpm.h>  #include <asm/cpm1.h>  /* @@ -24,7 +26,7 @@  #ifdef CONFIG_I2C_SPI_UCODE_PATCH -uint patch_2000[] = { +static uint patch_2000[] __initdata = {  	0x7FFFEFD9,  	0x3FFD0000,  	0x7FFB49F7, @@ -143,7 +145,7 @@ uint patch_2000[] = {  	0x5F8247F8  }; -uint patch_2f00[] = { +static uint patch_2f00[] __initdata = {  	0x3E303430,  	0x34343737,  	0xABF7BF9B, @@ -182,7 +184,7 @@ uint patch_2f00[] = {  #ifdef CONFIG_I2C_SPI_SMC1_UCODE_PATCH -uint patch_2000[] = { +static uint patch_2000[] __initdata = {  	0x3fff0000,  	0x3ffd0000,  	0x3ffb0000, @@ -505,7 +507,7 @@ uint patch_2000[] = {  	0x6079e2bb  }; -uint patch_2f00[] = { +static uint patch_2f00[] __initdata = {  	0x30303030,  	0x3e3e3434,  	0xabbf9b99, @@ -572,7 +574,7 @@ uint patch_2f00[] = {  	0xf22f3f23  }; -uint patch_2e00[] = { +static uint patch_2e00[] __initdata = {  	0x27eeeeee,  	0xeeeeeeee,  	0xeeeeeeee, @@ -598,7 +600,7 @@ uint patch_2e00[] = {  #ifdef CONFIG_USB_SOF_UCODE_PATCH -uint patch_2000[] = { +static uint patch_2000[] __initdata = {  	0x7fff0000,  	0x7ffd0000,  	0x7ffb0000, @@ -613,21 +615,25 @@ uint patch_2000[] = {  	0x60750000  }; -uint patch_2f00[] = { +static uint patch_2f00[] __initdata = {  	0x3030304c,  	0xcab9e441,  	0xa1aaf220  };  #endif -void -cpm_load_patch(cpm8xx_t	*cp) +void __init cpm_load_patch(cpm8xx_t *cp)  {  	volatile uint		*dp;		/* Dual-ported RAM. */  	volatile cpm8xx_t	*commproc; +#if defined(CONFIG_I2C_SPI_UCODE_PATCH) || \ +    defined(CONFIG_I2C_SPI_SMC1_UCODE_PATCH)  	volatile iic_t		*iip; -	volatile spi_t		*spp; +	volatile struct spi_pram *spp; +#ifdef CONFIG_I2C_SPI_SMC1_UCODE_PATCH  	volatile smc_uart_t	*smp; +#endif +#endif  	int	i;  	commproc = cp; @@ -668,8 +674,8 @@ cpm_load_patch(cpm8xx_t	*cp)  	/* Put SPI above the IIC, also 32-byte aligned.  	*/  	i = (RPBASE + sizeof(iic_t) + 31) & ~31; -	spp = (spi_t *)&commproc->cp_dparam[PROFF_SPI]; -	spp->spi_rpbase = i; +	spp = (struct spi_pram *)&commproc->cp_dparam[PROFF_SPI]; +	spp->rpbase = i;  # if defined(CONFIG_I2C_SPI_UCODE_PATCH)  	commproc->cp_cpmcr1 = 0x802a; diff --git a/arch/powerpc/sysdev/mpc8xxx_gpio.c b/arch/powerpc/sysdev/mpc8xxx_gpio.c index 83f519655fa..2b69084d0f0 100644 --- a/arch/powerpc/sysdev/mpc8xxx_gpio.c +++ b/arch/powerpc/sysdev/mpc8xxx_gpio.c @@ -257,7 +257,6 @@ static void __init mpc8xxx_add_controller(struct device_node *np)  {  	struct mpc8xxx_gpio_chip *mpc8xxx_gc;  	struct of_mm_gpio_chip *mm_gc; -	struct of_gpio_chip *of_gc;  	struct gpio_chip *gc;  	unsigned hwirq;  	int ret; @@ -271,11 +270,9 @@ static void __init mpc8xxx_add_controller(struct device_node *np)  	spin_lock_init(&mpc8xxx_gc->lock);  	mm_gc = &mpc8xxx_gc->mm_gc; -	of_gc = &mm_gc->of_gc; -	gc = &of_gc->gc; +	gc = &mm_gc->gc;  	mm_gc->save_regs = mpc8xxx_gpio_save_regs; -	of_gc->gpio_cells = 2;  	gc->ngpio = MPC8XXX_GPIO_PINS;  	gc->direction_input = mpc8xxx_gpio_dir_in;  	gc->direction_output = mpc8xxx_gpio_dir_out; diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c index 2102487612a..7c1342618a3 100644 --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c @@ -1636,6 +1636,24 @@ void __devinit smp_mpic_setup_cpu(int cpu)  {  	mpic_setup_this_cpu();  } + +void mpic_reset_core(int cpu) +{ +	struct mpic *mpic = mpic_primary; +	u32 pir; +	int cpuid = get_hard_smp_processor_id(cpu); + +	/* Set target bit for core reset */ +	pir = mpic_read(mpic->gregs, MPIC_INFO(GREG_PROCESSOR_INIT)); +	pir |= (1 << cpuid); +	mpic_write(mpic->gregs, MPIC_INFO(GREG_PROCESSOR_INIT), pir); +	mpic_read(mpic->gregs, MPIC_INFO(GREG_PROCESSOR_INIT)); + +	/* Restore target bit after reset complete */ +	pir &= ~(1 << cpuid); +	mpic_write(mpic->gregs, MPIC_INFO(GREG_PROCESSOR_INIT), pir); +	mpic_read(mpic->gregs, MPIC_INFO(GREG_PROCESSOR_INIT)); +}  #endif /* CONFIG_SMP */  #ifdef CONFIG_PM @@ -1666,7 +1684,7 @@ static int mpic_resume(struct sys_device *dev)  			       mpic->save_data[i].dest);  #ifdef CONFIG_MPIC_U3_HT_IRQS -	{ +	if (mpic->fixups) {  		struct mpic_irq_fixup *fixup = &mpic->fixups[i];  		if (fixup->base) { diff --git a/arch/powerpc/sysdev/mpic.h b/arch/powerpc/sysdev/mpic.h index eff433c322a..e4a6df77b8d 100644 --- a/arch/powerpc/sysdev/mpic.h +++ b/arch/powerpc/sysdev/mpic.h @@ -37,5 +37,6 @@ static inline int mpic_pasemi_msi_init(struct mpic *mpic)  extern int mpic_set_irq_type(unsigned int virq, unsigned int flow_type);  extern void mpic_set_vector(unsigned int virq, unsigned int vector);  extern int mpic_set_affinity(unsigned int irq, const struct cpumask *cpumask); +extern void mpic_reset_core(int cpu);  #endif /* _POWERPC_SYSDEV_MPIC_H */ diff --git a/arch/powerpc/sysdev/mv64x60_dev.c b/arch/powerpc/sysdev/mv64x60_dev.c index 31acd3b1718..1398bc45499 100644 --- a/arch/powerpc/sysdev/mv64x60_dev.c +++ b/arch/powerpc/sysdev/mv64x60_dev.c @@ -20,12 +20,7 @@  #include <asm/prom.h> -/* - * These functions provide the necessary setup for the mv64x60 drivers. - * These drivers are unusual in that they work on both the MIPS and PowerPC - * architectures.  Because of that, the drivers do not support the normal - * PowerPC of_platform_bus_type.  They support platform_bus_type instead. - */ +/* These functions provide the necessary setup for the mv64x60 drivers. */  static struct of_device_id __initdata of_mv64x60_devices[] = {  	{ .compatible = "marvell,mv64306-devctrl", }, diff --git a/arch/powerpc/sysdev/mv64x60_pci.c b/arch/powerpc/sysdev/mv64x60_pci.c index 198f288570c..77bb3f4d530 100644 --- a/arch/powerpc/sysdev/mv64x60_pci.c +++ b/arch/powerpc/sysdev/mv64x60_pci.c @@ -73,7 +73,6 @@ static struct bin_attribute mv64x60_hs_reg_attr = { /* Hotswap register */  	.attr = {  		.name = "hs_reg",  		.mode = S_IRUGO | S_IWUSR, -		.owner = THIS_MODULE,  	},  	.size  = MV64X60_VAL_LEN_MAX,  	.read  = mv64x60_hs_reg_read, diff --git a/arch/powerpc/sysdev/pmi.c b/arch/powerpc/sysdev/pmi.c index d07137a07d7..24a0bb955b1 100644 --- a/arch/powerpc/sysdev/pmi.c +++ b/arch/powerpc/sysdev/pmi.c @@ -43,7 +43,7 @@ struct pmi_data {  	struct mutex		msg_mutex;  	pmi_message_t		msg;  	struct completion	*completion; -	struct of_device	*dev; +	struct platform_device	*dev;  	int			irq;  	u8 __iomem		*pmi_reg;  	struct work_struct	work; @@ -121,7 +121,7 @@ static void pmi_notify_handlers(struct work_struct *work)  	spin_unlock(&data->handler_spinlock);  } -static int pmi_of_probe(struct of_device *dev, +static int pmi_of_probe(struct platform_device *dev,  			const struct of_device_id *match)  {  	struct device_node *np = dev->dev.of_node; @@ -185,7 +185,7 @@ out:  	return rc;  } -static int pmi_of_remove(struct of_device *dev) +static int pmi_of_remove(struct platform_device *dev)  {  	struct pmi_handler *handler, *tmp; diff --git a/arch/powerpc/sysdev/ppc4xx_gpio.c b/arch/powerpc/sysdev/ppc4xx_gpio.c index 3812fc366be..fc65ad1b329 100644 --- a/arch/powerpc/sysdev/ppc4xx_gpio.c +++ b/arch/powerpc/sysdev/ppc4xx_gpio.c @@ -181,7 +181,6 @@ static int __init ppc4xx_add_gpiochips(void)  		int ret;  		struct ppc4xx_gpio_chip *ppc4xx_gc;  		struct of_mm_gpio_chip *mm_gc; -		struct of_gpio_chip *of_gc;  		struct gpio_chip *gc;  		ppc4xx_gc = kzalloc(sizeof(*ppc4xx_gc), GFP_KERNEL); @@ -193,10 +192,8 @@ static int __init ppc4xx_add_gpiochips(void)  		spin_lock_init(&ppc4xx_gc->lock);  		mm_gc = &ppc4xx_gc->mm_gc; -		of_gc = &mm_gc->of_gc; -		gc = &of_gc->gc; +		gc = &mm_gc->gc; -		of_gc->gpio_cells = 2;  		gc->ngpio = 32;  		gc->direction_input = ppc4xx_gpio_dir_in;  		gc->direction_output = ppc4xx_gpio_dir_out; diff --git a/arch/powerpc/sysdev/qe_lib/gpio.c b/arch/powerpc/sysdev/qe_lib/gpio.c index dc8f8d61807..36bf845df12 100644 --- a/arch/powerpc/sysdev/qe_lib/gpio.c +++ b/arch/powerpc/sysdev/qe_lib/gpio.c @@ -138,8 +138,8 @@ struct qe_pin {  struct qe_pin *qe_pin_request(struct device_node *np, int index)  {  	struct qe_pin *qe_pin; -	struct device_node *gc; -	struct of_gpio_chip *of_gc = NULL; +	struct device_node *gpio_np; +	struct gpio_chip *gc;  	struct of_mm_gpio_chip *mm_gc;  	struct qe_gpio_chip *qe_gc;  	int err; @@ -155,40 +155,40 @@ struct qe_pin *qe_pin_request(struct device_node *np, int index)  	}  	err = of_parse_phandles_with_args(np, "gpios", "#gpio-cells", index, -					  &gc, &gpio_spec); +					  &gpio_np, &gpio_spec);  	if (err) {  		pr_debug("%s: can't parse gpios property\n", __func__);  		goto err0;  	} -	if (!of_device_is_compatible(gc, "fsl,mpc8323-qe-pario-bank")) { +	if (!of_device_is_compatible(gpio_np, "fsl,mpc8323-qe-pario-bank")) {  		pr_debug("%s: tried to get a non-qe pin\n", __func__);  		err = -EINVAL;  		goto err1;  	} -	of_gc = gc->data; -	if (!of_gc) { +	gc = of_node_to_gpiochip(gpio_np); +	if (!gc) {  		pr_debug("%s: gpio controller %s isn't registered\n", -			 np->full_name, gc->full_name); +			 np->full_name, gpio_np->full_name);  		err = -ENODEV;  		goto err1;  	} -	gpio_cells = of_get_property(gc, "#gpio-cells", &size); +	gpio_cells = of_get_property(gpio_np, "#gpio-cells", &size);  	if (!gpio_cells || size != sizeof(*gpio_cells) || -			*gpio_cells != of_gc->gpio_cells) { +			*gpio_cells != gc->of_gpio_n_cells) {  		pr_debug("%s: wrong #gpio-cells for %s\n", -			 np->full_name, gc->full_name); +			 np->full_name, gpio_np->full_name);  		err = -EINVAL;  		goto err1;  	} -	err = of_gc->xlate(of_gc, np, gpio_spec, NULL); +	err = gc->of_xlate(gc, np, gpio_spec, NULL);  	if (err < 0)  		goto err1; -	mm_gc = to_of_mm_gpio_chip(&of_gc->gc); +	mm_gc = to_of_mm_gpio_chip(gc);  	qe_gc = to_qe_gpio_chip(mm_gc);  	spin_lock_irqsave(&qe_gc->lock, flags); @@ -206,7 +206,7 @@ struct qe_pin *qe_pin_request(struct device_node *np, int index)  	if (!err)  		return qe_pin;  err1: -	of_node_put(gc); +	of_node_put(gpio_np);  err0:  	kfree(qe_pin);  	pr_debug("%s failed with status %d\n", __func__, err); @@ -307,7 +307,6 @@ static int __init qe_add_gpiochips(void)  		int ret;  		struct qe_gpio_chip *qe_gc;  		struct of_mm_gpio_chip *mm_gc; -		struct of_gpio_chip *of_gc;  		struct gpio_chip *gc;  		qe_gc = kzalloc(sizeof(*qe_gc), GFP_KERNEL); @@ -319,11 +318,9 @@ static int __init qe_add_gpiochips(void)  		spin_lock_init(&qe_gc->lock);  		mm_gc = &qe_gc->mm_gc; -		of_gc = &mm_gc->of_gc; -		gc = &of_gc->gc; +		gc = &mm_gc->gc;  		mm_gc->save_regs = qe_gpio_save_regs; -		of_gc->gpio_cells = 2;  		gc->ngpio = QE_PIO_PINS;  		gc->direction_input = qe_gpio_dir_in;  		gc->direction_output = qe_gpio_dir_out; diff --git a/arch/powerpc/sysdev/qe_lib/qe.c b/arch/powerpc/sysdev/qe_lib/qe.c index 093e0ae1a94..3da8014931c 100644 --- a/arch/powerpc/sysdev/qe_lib/qe.c +++ b/arch/powerpc/sysdev/qe_lib/qe.c @@ -651,14 +651,15 @@ unsigned int qe_get_num_of_snums(void)  EXPORT_SYMBOL(qe_get_num_of_snums);  #if defined(CONFIG_SUSPEND) && defined(CONFIG_PPC_85xx) -static int qe_resume(struct of_device *ofdev) +static int qe_resume(struct platform_device *ofdev)  {  	if (!qe_alive_during_sleep())  		qe_reset();  	return 0;  } -static int qe_probe(struct of_device *ofdev, const struct of_device_id *id) +static int qe_probe(struct platform_device *ofdev, +		    const struct of_device_id *id)  {  	return 0;  } diff --git a/arch/powerpc/sysdev/simple_gpio.c b/arch/powerpc/sysdev/simple_gpio.c index d5fb173e588..b6defda5ccc 100644 --- a/arch/powerpc/sysdev/simple_gpio.c +++ b/arch/powerpc/sysdev/simple_gpio.c @@ -91,7 +91,6 @@ static int __init u8_simple_gpiochip_add(struct device_node *np)  	int ret;  	struct u8_gpio_chip *u8_gc;  	struct of_mm_gpio_chip *mm_gc; -	struct of_gpio_chip *of_gc;  	struct gpio_chip *gc;  	u8_gc = kzalloc(sizeof(*u8_gc), GFP_KERNEL); @@ -101,11 +100,9 @@ static int __init u8_simple_gpiochip_add(struct device_node *np)  	spin_lock_init(&u8_gc->lock);  	mm_gc = &u8_gc->mm_gc; -	of_gc = &mm_gc->of_gc; -	gc = &of_gc->gc; +	gc = &mm_gc->gc;  	mm_gc->save_regs = u8_gpio_save_regs; -	of_gc->gpio_cells = 2;  	gc->ngpio = 8;  	gc->direction_input = u8_gpio_dir_in;  	gc->direction_output = u8_gpio_dir_out;  | 
