Commit b71a107c authored by Benjamin Herrenschmidt's avatar Benjamin Herrenschmidt

Merge commit 'gcl/merge' into next

Manual merge of:
	drivers/net/fec_mpc52xx.c
parents 4b337c5f e7c5a4f2
...@@ -258,34 +258,16 @@ rtc@51 { ...@@ -258,34 +258,16 @@ rtc@51 {
compatible = "nxp,pcf8563"; compatible = "nxp,pcf8563";
reg = <0x51>; reg = <0x51>;
}; };
/* FIXME: EEPROM */ eeprom@52 {
compatible = "catalyst,24c32";
reg = <0x52>;
};
}; };
sram@8000 { sram@8000 {
compatible = "fsl,mpc5200b-sram","fsl,mpc5200-sram"; compatible = "fsl,mpc5200b-sram","fsl,mpc5200-sram";
reg = <0x8000 0x4000>; reg = <0x8000 0x4000>;
}; };
/* This is only an example device to show the usage of gpios. It maps all available
* gpios to the "gpio-provider" device.
*/
gpio {
compatible = "gpio-provider";
/* mpc52xx exp.con patchfield */
gpios = <&gpio_wkup 0 0 /* GPIO_WKUP_7 11d jp13-3 */
&gpio_wkup 1 0 /* GPIO_WKUP_6 14c */
&gpio_wkup 6 0 /* PSC2_4 43c x5-11 */
&gpio_simple 2 0 /* IRDA_1 24c x7-6 set GPS_PORT_CONFIG[IRDA] = 0 */
&gpio_simple 3 0 /* IRDA_0 x8-5 set GPS_PORT_CONFIG[IRDA] = 0 */
&gpt2 0 0 /* timer2 12d x4-4 */
&gpt3 0 0 /* timer3 13d x6-4 */
&gpt4 0 0 /* timer4 61c x2-16 */
&gpt5 0 0 /* timer5 44c x7-11 */
&gpt6 0 0 /* timer6 60c x8-15 */
&gpt7 0 0 /* timer7 36a x17-9 */
>;
};
}; };
pci@f0000d00 { pci@f0000d00 {
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
#include <asm/types.h> #include <asm/types.h>
#include <asm/prom.h> #include <asm/prom.h>
#include <asm/mpc5xxx.h>
#endif /* __ASSEMBLY__ */ #endif /* __ASSEMBLY__ */
#include <linux/suspend.h> #include <linux/suspend.h>
...@@ -268,7 +269,6 @@ struct mpc52xx_intr { ...@@ -268,7 +269,6 @@ struct mpc52xx_intr {
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
/* mpc52xx_common.c */ /* mpc52xx_common.c */
extern unsigned int mpc52xx_find_ipb_freq(struct device_node *node);
extern void mpc5200_setup_xlb_arbiter(void); extern void mpc5200_setup_xlb_arbiter(void);
extern void mpc52xx_declare_of_platform_devices(void); extern void mpc52xx_declare_of_platform_devices(void);
extern void mpc52xx_map_common_devices(void); extern void mpc52xx_map_common_devices(void);
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* Author: John Rigby, <jrigby@freescale.com>, Friday Apr 13 2007 * Author: John Rigby, <jrigby@freescale.com>, Friday Apr 13 2007
* *
* Description: * Description:
* MPC5121 Prototypes and definitions * MPC5xxx Prototypes and definitions
* *
* This is free software; you can redistribute it and/or modify it * This is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by * under the terms of the GNU General Public License as published by
...@@ -13,10 +13,10 @@ ...@@ -13,10 +13,10 @@
* *
*/ */
#ifndef __ASM_POWERPC_MPC512x_H__ #ifndef __ASM_POWERPC_MPC5xxx_H__
#define __ASM_POWERPC_MPC512x_H__ #define __ASM_POWERPC_MPC5xxx_H__
extern unsigned long mpc512x_find_ips_freq(struct device_node *node); extern unsigned long mpc5xxx_get_bus_frequency(struct device_node *node);
#endif /* __ASM_POWERPC_MPC512x_H__ */ #endif /* __ASM_POWERPC_MPC5xxx_H__ */
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
#include <linux/io.h> #include <linux/io.h>
#include <linux/of_platform.h> #include <linux/of_platform.h>
#include <asm/mpc512x.h> #include <asm/mpc5xxx.h>
#include <asm/clk_interface.h> #include <asm/clk_interface.h>
#undef CLK_DEBUG #undef CLK_DEBUG
...@@ -83,13 +83,13 @@ static void dump_clocks(void) ...@@ -83,13 +83,13 @@ static void dump_clocks(void)
mutex_lock(&clocks_mutex); mutex_lock(&clocks_mutex);
printk(KERN_INFO "CLOCKS:\n"); printk(KERN_INFO "CLOCKS:\n");
list_for_each_entry(p, &clocks, node) { list_for_each_entry(p, &clocks, node) {
printk(KERN_INFO " %s %ld", p->name, p->rate); pr_info(" %s=%ld", p->name, p->rate);
if (p->parent) if (p->parent)
printk(KERN_INFO " %s %ld", p->parent->name, pr_cont(" %s=%ld", p->parent->name,
p->parent->rate); p->parent->rate);
if (p->flags & CLK_HAS_CTRL) if (p->flags & CLK_HAS_CTRL)
printk(KERN_INFO " reg/bit %d/%d", p->reg, p->bit); pr_cont(" reg/bit=%d/%d", p->reg, p->bit);
printk("\n"); pr_cont("\n");
} }
mutex_unlock(&clocks_mutex); mutex_unlock(&clocks_mutex);
} }
......
...@@ -11,7 +11,6 @@ ...@@ -11,7 +11,6 @@
#ifndef __MPC512X_H__ #ifndef __MPC512X_H__
#define __MPC512X_H__ #define __MPC512X_H__
extern unsigned long mpc512x_find_ips_freq(struct device_node *node);
extern void __init mpc512x_init_IRQ(void); extern void __init mpc512x_init_IRQ(void);
void __init mpc512x_declare_of_platform_devices(void); void __init mpc512x_declare_of_platform_devices(void);
#endif /* __MPC512X_H__ */ #endif /* __MPC512X_H__ */
...@@ -24,29 +24,6 @@ ...@@ -24,29 +24,6 @@
#include "mpc512x.h" #include "mpc512x.h"
unsigned long
mpc512x_find_ips_freq(struct device_node *node)
{
struct device_node *np;
const unsigned int *p_ips_freq = NULL;
of_node_get(node);
while (node) {
p_ips_freq = of_get_property(node, "bus-frequency", NULL);
if (p_ips_freq)
break;
np = of_get_parent(node);
of_node_put(node);
node = np;
}
if (node)
of_node_put(node);
return p_ips_freq ? *p_ips_freq : 0;
}
EXPORT_SYMBOL(mpc512x_find_ips_freq);
void __init mpc512x_init_IRQ(void) void __init mpc512x_init_IRQ(void)
{ {
struct device_node *np; struct device_node *np;
......
...@@ -47,36 +47,6 @@ static DEFINE_SPINLOCK(mpc52xx_lock); ...@@ -47,36 +47,6 @@ static DEFINE_SPINLOCK(mpc52xx_lock);
static struct mpc52xx_gpt __iomem *mpc52xx_wdt; static struct mpc52xx_gpt __iomem *mpc52xx_wdt;
static struct mpc52xx_cdm __iomem *mpc52xx_cdm; static struct mpc52xx_cdm __iomem *mpc52xx_cdm;
/**
* mpc52xx_find_ipb_freq - Find the IPB bus frequency for a device
* @node: device node
*
* Returns IPB bus frequency, or 0 if the bus frequency cannot be found.
*/
unsigned int
mpc52xx_find_ipb_freq(struct device_node *node)
{
struct device_node *np;
const unsigned int *p_ipb_freq = NULL;
of_node_get(node);
while (node) {
p_ipb_freq = of_get_property(node, "bus-frequency", NULL);
if (p_ipb_freq)
break;
np = of_get_parent(node);
of_node_put(node);
node = np;
}
if (node)
of_node_put(node);
return p_ipb_freq ? *p_ipb_freq : 0;
}
EXPORT_SYMBOL(mpc52xx_find_ipb_freq);
/* /*
* Configure the XLB arbiter settings to match what Linux expects. * Configure the XLB arbiter settings to match what Linux expects.
*/ */
...@@ -221,7 +191,7 @@ unsigned int mpc52xx_get_xtal_freq(struct device_node *node) ...@@ -221,7 +191,7 @@ unsigned int mpc52xx_get_xtal_freq(struct device_node *node)
if (!mpc52xx_cdm) if (!mpc52xx_cdm)
return 0; return 0;
freq = mpc52xx_find_ipb_freq(node); freq = mpc5xxx_get_bus_frequency(node);
if (!freq) if (!freq)
return 0; return 0;
......
...@@ -50,6 +50,9 @@ obj-$(CONFIG_PPC_DCR) += dcr.o ...@@ -50,6 +50,9 @@ obj-$(CONFIG_PPC_DCR) += dcr.o
obj-$(CONFIG_8xx) += mpc8xx_pic.o cpm1.o obj-$(CONFIG_8xx) += mpc8xx_pic.o cpm1.o
obj-$(CONFIG_UCODE_PATCH) += micropatch.o obj-$(CONFIG_UCODE_PATCH) += micropatch.o
obj-$(CONFIG_PPC_MPC512x) += mpc5xxx_clocks.o
obj-$(CONFIG_PPC_MPC52xx) += mpc5xxx_clocks.o
ifeq ($(CONFIG_SUSPEND),y) ifeq ($(CONFIG_SUSPEND),y)
obj-$(CONFIG_6xx) += 6xx-suspend.o obj-$(CONFIG_6xx) += 6xx-suspend.o
endif endif
/**
* mpc5xxx_get_bus_frequency - Find the bus frequency for a device
* @node: device node
*
* Returns bus frequency (IPS on MPC512x, IPB on MPC52xx),
* or 0 if the bus frequency cannot be found.
*/
#include <linux/kernel.h>
#include <linux/of_platform.h>
unsigned int
mpc5xxx_get_bus_frequency(struct device_node *node)
{
struct device_node *np;
const unsigned int *p_bus_freq = NULL;
of_node_get(node);
while (node) {
p_bus_freq = of_get_property(node, "bus-frequency", NULL);
if (p_bus_freq)
break;
np = of_get_parent(node);
of_node_put(node);
node = np;
}
if (node)
of_node_put(node);
return p_bus_freq ? *p_bus_freq : 0;
}
EXPORT_SYMBOL(mpc5xxx_get_bus_frequency);
...@@ -694,7 +694,7 @@ mpc52xx_ata_probe(struct of_device *op, const struct of_device_id *match) ...@@ -694,7 +694,7 @@ mpc52xx_ata_probe(struct of_device *op, const struct of_device_id *match)
struct bcom_task *dmatsk = NULL; struct bcom_task *dmatsk = NULL;
/* Get ipb frequency */ /* Get ipb frequency */
ipb_freq = mpc52xx_find_ipb_freq(op->node); ipb_freq = mpc5xxx_get_bus_frequency(op->node);
if (!ipb_freq) { if (!ipb_freq) {
dev_err(&op->dev, "could not determine IPB bus frequency\n"); dev_err(&op->dev, "could not determine IPB bus frequency\n");
return -ENODEV; return -ENODEV;
......
...@@ -197,7 +197,7 @@ int mpc_i2c_get_fdr_52xx(struct device_node *node, u32 clock, int prescaler) ...@@ -197,7 +197,7 @@ int mpc_i2c_get_fdr_52xx(struct device_node *node, u32 clock, int prescaler)
return -EINVAL; return -EINVAL;
/* Determine divider value */ /* Determine divider value */
divider = mpc52xx_find_ipb_freq(node) / clock; divider = mpc5xxx_get_bus_frequency(node) / clock;
/* /*
* We want to choose an FDR/DFSR that generates an I2C bus speed that * We want to choose an FDR/DFSR that generates an I2C bus speed that
......
...@@ -948,7 +948,7 @@ mpc52xx_fec_probe(struct of_device *op, const struct of_device_id *match) ...@@ -948,7 +948,7 @@ mpc52xx_fec_probe(struct of_device *op, const struct of_device_id *match)
/* Start with safe defaults for link connection */ /* Start with safe defaults for link connection */
priv->speed = 100; priv->speed = 100;
priv->duplex = DUPLEX_HALF; priv->duplex = DUPLEX_HALF;
priv->mdio_speed = ((mpc52xx_find_ipb_freq(op->node) >> 20) / 5) << 1; priv->mdio_speed = ((mpc5xxx_get_bus_frequency(op->node) >> 20) / 5) << 1;
/* The current speed preconfigures the speed of the MII link */ /* The current speed preconfigures the speed of the MII link */
prop = of_get_property(op->node, "current-speed", &prop_size); prop = of_get_property(op->node, "current-speed", &prop_size);
......
...@@ -106,7 +106,7 @@ static int mpc52xx_fec_mdio_probe(struct of_device *of, ...@@ -106,7 +106,7 @@ static int mpc52xx_fec_mdio_probe(struct of_device *of,
/* set MII speed */ /* set MII speed */
out_be32(&priv->regs->mii_speed, out_be32(&priv->regs->mii_speed,
((mpc52xx_find_ipb_freq(of->node) >> 20) / 5) << 1); ((mpc5xxx_get_bus_frequency(of->node) >> 20) / 5) << 1);
err = of_mdiobus_register(bus, np); err = of_mdiobus_register(bus, np);
if (err) if (err)
......
...@@ -76,7 +76,6 @@ ...@@ -76,7 +76,6 @@
#include <linux/of_platform.h> #include <linux/of_platform.h>
#include <asm/mpc52xx.h> #include <asm/mpc52xx.h>
#include <asm/mpc512x.h>
#include <asm/mpc52xx_psc.h> #include <asm/mpc52xx_psc.h>
#if defined(CONFIG_SERIAL_MPC52xx_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ) #if defined(CONFIG_SERIAL_MPC52xx_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ)
...@@ -254,7 +253,7 @@ static unsigned long mpc52xx_getuartclk(void *p) ...@@ -254,7 +253,7 @@ static unsigned long mpc52xx_getuartclk(void *p)
* but the generic serial code assumes 16 * but the generic serial code assumes 16
* so return ipb freq / 2 * so return ipb freq / 2
*/ */
return mpc52xx_find_ipb_freq(p) / 2; return mpc5xxx_get_bus_frequency(p) / 2;
} }
static struct psc_ops mpc52xx_psc_ops = { static struct psc_ops mpc52xx_psc_ops = {
...@@ -391,7 +390,7 @@ static void mpc512x_psc_cw_restore_ints(struct uart_port *port) ...@@ -391,7 +390,7 @@ static void mpc512x_psc_cw_restore_ints(struct uart_port *port)
static unsigned long mpc512x_getuartclk(void *p) static unsigned long mpc512x_getuartclk(void *p)
{ {
return mpc512x_find_ips_freq(p); return mpc5xxx_get_bus_frequency(p);
} }
static struct psc_ops mpc512x_psc_ops = { static struct psc_ops mpc512x_psc_ops = {
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include <linux/module.h> #include <linux/module.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/types.h>
#include <linux/errno.h> #include <linux/errno.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/of_platform.h> #include <linux/of_platform.h>
...@@ -30,8 +31,7 @@ ...@@ -30,8 +31,7 @@
struct mpc52xx_psc_spi { struct mpc52xx_psc_spi {
/* fsl_spi_platform data */ /* fsl_spi_platform data */
void (*activate_cs)(u8, u8); void (*cs_control)(struct spi_device *spi, bool on);
void (*deactivate_cs)(u8, u8);
u32 sysclk; u32 sysclk;
/* driver internal data */ /* driver internal data */
...@@ -111,18 +111,16 @@ static void mpc52xx_psc_spi_activate_cs(struct spi_device *spi) ...@@ -111,18 +111,16 @@ static void mpc52xx_psc_spi_activate_cs(struct spi_device *spi)
out_be16((u16 __iomem *)&psc->ccr, ccr); out_be16((u16 __iomem *)&psc->ccr, ccr);
mps->bits_per_word = cs->bits_per_word; mps->bits_per_word = cs->bits_per_word;
if (mps->activate_cs) if (mps->cs_control)
mps->activate_cs(spi->chip_select, mps->cs_control(spi, (spi->mode & SPI_CS_HIGH) ? 1 : 0);
(spi->mode & SPI_CS_HIGH) ? 1 : 0);
} }
static void mpc52xx_psc_spi_deactivate_cs(struct spi_device *spi) static void mpc52xx_psc_spi_deactivate_cs(struct spi_device *spi)
{ {
struct mpc52xx_psc_spi *mps = spi_master_get_devdata(spi->master); struct mpc52xx_psc_spi *mps = spi_master_get_devdata(spi->master);
if (mps->deactivate_cs) if (mps->cs_control)
mps->deactivate_cs(spi->chip_select, mps->cs_control(spi, (spi->mode & SPI_CS_HIGH) ? 0 : 1);
(spi->mode & SPI_CS_HIGH) ? 1 : 0);
} }
#define MPC52xx_PSC_BUFSIZE (MPC52xx_PSC_RFNUM_MASK + 1) #define MPC52xx_PSC_BUFSIZE (MPC52xx_PSC_RFNUM_MASK + 1)
...@@ -388,15 +386,13 @@ static int __init mpc52xx_psc_spi_do_probe(struct device *dev, u32 regaddr, ...@@ -388,15 +386,13 @@ static int __init mpc52xx_psc_spi_do_probe(struct device *dev, u32 regaddr,
mps->irq = irq; mps->irq = irq;
if (pdata == NULL) { if (pdata == NULL) {
dev_warn(dev, "probe called without platform data, no " dev_warn(dev, "probe called without platform data, no "
"(de)activate_cs function will be called\n"); "cs_control function will be called\n");
mps->activate_cs = NULL; mps->cs_control = NULL;
mps->deactivate_cs = NULL;
mps->sysclk = 0; mps->sysclk = 0;
master->bus_num = bus_num; master->bus_num = bus_num;
master->num_chipselect = 255; master->num_chipselect = 255;
} else { } else {
mps->activate_cs = pdata->activate_cs; mps->cs_control = pdata->cs_control;
mps->deactivate_cs = pdata->deactivate_cs;
mps->sysclk = pdata->sysclk; mps->sysclk = pdata->sysclk;
master->bus_num = pdata->bus_num; master->bus_num = pdata->bus_num;
master->num_chipselect = pdata->max_chipselect; master->num_chipselect = pdata->max_chipselect;
......
...@@ -124,7 +124,6 @@ struct xilinxfb_drvdata { ...@@ -124,7 +124,6 @@ struct xilinxfb_drvdata {
registers */ registers */
dcr_host_t dcr_host; dcr_host_t dcr_host;
unsigned int dcr_start;
unsigned int dcr_len; unsigned int dcr_len;
void *fb_virt; /* virt. address of the frame buffer */ void *fb_virt; /* virt. address of the frame buffer */
...@@ -325,8 +324,8 @@ static int xilinxfb_assign(struct device *dev, ...@@ -325,8 +324,8 @@ static int xilinxfb_assign(struct device *dev,
drvdata->regs); drvdata->regs);
} }
/* Put a banner in the log (for DEBUG) */ /* Put a banner in the log (for DEBUG) */
dev_dbg(dev, "fb: phys=%p, virt=%p, size=%x\n", dev_dbg(dev, "fb: phys=%llx, virt=%p, size=%x\n",
(void *)drvdata->fb_phys, drvdata->fb_virt, fbsize); (unsigned long long)drvdata->fb_phys, drvdata->fb_virt, fbsize);
return 0; /* success */ return 0; /* success */
...@@ -404,9 +403,7 @@ xilinxfb_of_probe(struct of_device *op, const struct of_device_id *match) ...@@ -404,9 +403,7 @@ xilinxfb_of_probe(struct of_device *op, const struct of_device_id *match)
u32 tft_access; u32 tft_access;
struct xilinxfb_platform_data pdata; struct xilinxfb_platform_data pdata;
struct resource res; struct resource res;
int size, rc; int size, rc, start;
int start = 0, len = 0;
dcr_host_t dcr_host;
struct xilinxfb_drvdata *drvdata; struct xilinxfb_drvdata *drvdata;
/* Copy with the default pdata (not a ptr reference!) */ /* Copy with the default pdata (not a ptr reference!) */
...@@ -414,35 +411,39 @@ xilinxfb_of_probe(struct of_device *op, const struct of_device_id *match) ...@@ -414,35 +411,39 @@ xilinxfb_of_probe(struct of_device *op, const struct of_device_id *match)
dev_dbg(&op->dev, "xilinxfb_of_probe(%p, %p)\n", op, match); dev_dbg(&op->dev, "xilinxfb_of_probe(%p, %p)\n", op, match);
/* Allocate the driver data region */
drvdata = kzalloc(sizeof(*drvdata), GFP_KERNEL);
if (!drvdata) {
dev_err(&op->dev, "Couldn't allocate device private record\n");
return -ENOMEM;
}
/* /*
* To check whether the core is connected directly to DCR or PLB * To check whether the core is connected directly to DCR or PLB
* interface and initialize the tft_access accordingly. * interface and initialize the tft_access accordingly.
*/ */
p = (u32 *)of_get_property(op->node, "xlnx,dcr-splb-slave-if", NULL); p = (u32 *)of_get_property(op->node, "xlnx,dcr-splb-slave-if", NULL);
tft_access = p ? *p : 0;
if (p)
tft_access = *p;
else
tft_access = 0; /* For backward compatibility */
/* /*
* Fill the resource structure if its direct PLB interface * Fill the resource structure if its direct PLB interface
* otherwise fill the dcr_host structure. * otherwise fill the dcr_host structure.
*/ */
if (tft_access) { if (tft_access) {
drvdata->flags |= PLB_ACCESS_FLAG;
rc = of_address_to_resource(op->node, 0, &res); rc = of_address_to_resource(op->node, 0, &res);
if (rc) { if (rc) {
dev_err(&op->dev, "invalid address\n"); dev_err(&op->dev, "invalid address\n");
return -ENODEV; goto err;
} }
} else { } else {
res.start = 0;
start = dcr_resource_start(op->node, 0); start = dcr_resource_start(op->node, 0);
len = dcr_resource_len(op->node, 0); drvdata->dcr_len = dcr_resource_len(op->node, 0);
dcr_host = dcr_map(op->node, start, len); drvdata->dcr_host = dcr_map(op->node, start, drvdata->dcr_len);
if (!DCR_MAP_OK(dcr_host)) { if (!DCR_MAP_OK(drvdata->dcr_host)) {
dev_err(&op->dev, "invalid address\n"); dev_err(&op->dev, "invalid DCR address\n");
return -ENODEV; goto err;
} }
} }
...@@ -467,26 +468,12 @@ xilinxfb_of_probe(struct of_device *op, const struct of_device_id *match) ...@@ -467,26 +468,12 @@ xilinxfb_of_probe(struct of_device *op, const struct of_device_id *match)
if (of_find_property(op->node, "rotate-display", NULL)) if (of_find_property(op->node, "rotate-display", NULL))
pdata.rotate_screen = 1; pdata.rotate_screen = 1;
/* Allocate the driver data region */
drvdata = kzalloc(sizeof(*drvdata), GFP_KERNEL);
if (!drvdata) {
dev_err(&op->dev, "Couldn't allocate device private record\n");
return -ENOMEM;
}
dev_set_drvdata(&op->dev, drvdata); dev_set_drvdata(&op->dev, drvdata);
if (tft_access)
drvdata->flags |= PLB_ACCESS_FLAG;
/* Arguments are passed based on the interface */
if (drvdata->flags & PLB_ACCESS_FLAG) {
return xilinxfb_assign(&op->dev, drvdata, res.start, &pdata); return xilinxfb_assign(&op->dev, drvdata, res.start, &pdata);
} else {
drvdata->dcr_start = start; err:
drvdata->dcr_len = len; kfree(drvdata);
drvdata->dcr_host = dcr_host; return -ENODEV;
return xilinxfb_assign(&op->dev, drvdata, 0, &pdata);
}
} }
static int __devexit xilinxfb_of_remove(struct of_device *op) static int __devexit xilinxfb_of_remove(struct of_device *op)
......
...@@ -188,7 +188,7 @@ static int mpc5200_wdt_probe(struct of_device *op, ...@@ -188,7 +188,7 @@ static int mpc5200_wdt_probe(struct of_device *op,
if (!wdt) if (!wdt)
return -ENOMEM; return -ENOMEM;
wdt->ipb_freq = mpc52xx_find_ipb_freq(op->node); wdt->ipb_freq = mpc5xxx_get_bus_frequency(op->node);
err = of_address_to_resource(op->node, 0, &wdt->mem); err = of_address_to_resource(op->node, 0, &wdt->mem);
if (err) if (err)
......
...@@ -79,10 +79,6 @@ struct fsl_spi_platform_data { ...@@ -79,10 +79,6 @@ struct fsl_spi_platform_data {
u16 max_chipselect; u16 max_chipselect;
void (*cs_control)(struct spi_device *spi, bool on); void (*cs_control)(struct spi_device *spi, bool on);
u32 sysclk; u32 sysclk;
/* Legacy hooks, used by mpc52xx_psc_spi driver. */
void (*activate_cs)(u8 cs, u8 polarity);
void (*deactivate_cs)(u8 cs, u8 polarity);
}; };
struct mpc8xx_pcmcia_ops { struct mpc8xx_pcmcia_ops {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment