Commit 0362063b authored by Hauke Mehrtens's avatar Hauke Mehrtens Committed by John W. Linville

ssb: extif: fix compile errors

If CONFIG_SSB_EMBEDDED or CONFIG_SSB_DRIVER_MIPS is set and
CONFIG_SSB_DRIVER_EXTIF is not set, it will cause compile problems
because of missing functions. This patch fixes these problems.

The mips driver now also uses ssb_chipco_available() instead of
checking bus->chipco.dev manually.
Signed-off-by: default avatarHauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 4a7267c9
...@@ -178,9 +178,9 @@ static void ssb_mips_serial_init(struct ssb_mipscore *mcore) ...@@ -178,9 +178,9 @@ static void ssb_mips_serial_init(struct ssb_mipscore *mcore)
{ {
struct ssb_bus *bus = mcore->dev->bus; struct ssb_bus *bus = mcore->dev->bus;
if (bus->extif.dev) if (ssb_extif_available(&bus->extif))
mcore->nr_serial_ports = ssb_extif_serial_init(&bus->extif, mcore->serial_ports); mcore->nr_serial_ports = ssb_extif_serial_init(&bus->extif, mcore->serial_ports);
else if (bus->chipco.dev) else if (ssb_chipco_available(&bus->chipco))
mcore->nr_serial_ports = ssb_chipco_serial_init(&bus->chipco, mcore->serial_ports); mcore->nr_serial_ports = ssb_chipco_serial_init(&bus->chipco, mcore->serial_ports);
else else
mcore->nr_serial_ports = 0; mcore->nr_serial_ports = 0;
...@@ -191,7 +191,7 @@ static void ssb_mips_flash_detect(struct ssb_mipscore *mcore) ...@@ -191,7 +191,7 @@ static void ssb_mips_flash_detect(struct ssb_mipscore *mcore)
struct ssb_bus *bus = mcore->dev->bus; struct ssb_bus *bus = mcore->dev->bus;
/* When there is no chipcommon on the bus there is 4MB flash */ /* When there is no chipcommon on the bus there is 4MB flash */
if (!bus->chipco.dev) { if (!ssb_chipco_available(&bus->chipco)) {
mcore->pflash.present = true; mcore->pflash.present = true;
mcore->pflash.buswidth = 2; mcore->pflash.buswidth = 2;
mcore->pflash.window = SSB_FLASH1; mcore->pflash.window = SSB_FLASH1;
...@@ -227,9 +227,9 @@ u32 ssb_cpu_clock(struct ssb_mipscore *mcore) ...@@ -227,9 +227,9 @@ u32 ssb_cpu_clock(struct ssb_mipscore *mcore)
if (bus->chipco.capabilities & SSB_CHIPCO_CAP_PMU) if (bus->chipco.capabilities & SSB_CHIPCO_CAP_PMU)
return ssb_pmu_get_cpu_clock(&bus->chipco); return ssb_pmu_get_cpu_clock(&bus->chipco);
if (bus->extif.dev) { if (ssb_extif_available(&bus->extif)) {
ssb_extif_get_clockcontrol(&bus->extif, &pll_type, &n, &m); ssb_extif_get_clockcontrol(&bus->extif, &pll_type, &n, &m);
} else if (bus->chipco.dev) { } else if (ssb_chipco_available(&bus->chipco)) {
ssb_chipco_get_clockcpu(&bus->chipco, &pll_type, &n, &m); ssb_chipco_get_clockcpu(&bus->chipco, &pll_type, &n, &m);
} else } else
return 0; return 0;
...@@ -265,9 +265,9 @@ void ssb_mipscore_init(struct ssb_mipscore *mcore) ...@@ -265,9 +265,9 @@ void ssb_mipscore_init(struct ssb_mipscore *mcore)
hz = 100000000; hz = 100000000;
ns = 1000000000 / hz; ns = 1000000000 / hz;
if (bus->extif.dev) if (ssb_extif_available(&bus->extif))
ssb_extif_timing_init(&bus->extif, ns); ssb_extif_timing_init(&bus->extif, ns);
else if (bus->chipco.dev) else if (ssb_chipco_available(&bus->chipco))
ssb_chipco_timing_init(&bus->chipco, ns); ssb_chipco_timing_init(&bus->chipco, ns);
/* Assign IRQs to all cores on the bus, start with irq line 2, because serial usually takes 1 */ /* Assign IRQs to all cores on the bus, start with irq line 2, because serial usually takes 1 */
......
...@@ -204,11 +204,53 @@ void ssb_extif_get_clockcontrol(struct ssb_extif *extif, ...@@ -204,11 +204,53 @@ void ssb_extif_get_clockcontrol(struct ssb_extif *extif,
{ {
} }
static inline
void ssb_extif_timing_init(struct ssb_extif *extif, unsigned long ns)
{
}
static inline static inline
void ssb_extif_watchdog_timer_set(struct ssb_extif *extif, void ssb_extif_watchdog_timer_set(struct ssb_extif *extif,
u32 ticks) u32 ticks)
{ {
} }
static inline u32 ssb_extif_gpio_in(struct ssb_extif *extif, u32 mask)
{
return 0;
}
static inline u32 ssb_extif_gpio_out(struct ssb_extif *extif, u32 mask,
u32 value)
{
return 0;
}
static inline u32 ssb_extif_gpio_outen(struct ssb_extif *extif, u32 mask,
u32 value)
{
return 0;
}
static inline u32 ssb_extif_gpio_polarity(struct ssb_extif *extif, u32 mask,
u32 value)
{
return 0;
}
static inline u32 ssb_extif_gpio_intmask(struct ssb_extif *extif, u32 mask,
u32 value)
{
return 0;
}
#ifdef CONFIG_SSB_SERIAL
static inline int ssb_extif_serial_init(struct ssb_extif *extif,
struct ssb_serial_port *ports)
{
return 0;
}
#endif /* CONFIG_SSB_SERIAL */
#endif /* CONFIG_SSB_DRIVER_EXTIF */ #endif /* CONFIG_SSB_DRIVER_EXTIF */
#endif /* LINUX_SSB_EXTIFCORE_H_ */ #endif /* LINUX_SSB_EXTIFCORE_H_ */
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