diff options
Diffstat (limited to 'arch/parisc/kernel/drivers.c')
| -rw-r--r-- | arch/parisc/kernel/drivers.c | 25 | 
1 files changed, 25 insertions, 0 deletions
| diff --git a/arch/parisc/kernel/drivers.c b/arch/parisc/kernel/drivers.c index 5eb979d04b90..15e7b3be7b6b 100644 --- a/arch/parisc/kernel/drivers.c +++ b/arch/parisc/kernel/drivers.c @@ -38,6 +38,7 @@  #include <asm/io.h>  #include <asm/pdc.h>  #include <asm/parisc-device.h> +#include <asm/ropes.h>  /* See comments in include/asm-parisc/pci.h */  const struct dma_map_ops *hppa_dma_ops __read_mostly; @@ -257,6 +258,30 @@ static struct parisc_device *find_device_by_addr(unsigned long hpa)  	return ret ? d.dev : NULL;  } +static int __init is_IKE_device(struct device *dev, void *data) +{ +	struct parisc_device *pdev = to_parisc_device(dev); + +	if (!check_dev(dev)) +		return 0; +	if (pdev->id.hw_type != HPHW_BCPORT) +		return 0; +	if (IS_IKE(pdev) || +		(pdev->id.hversion == REO_MERCED_PORT) || +		(pdev->id.hversion == REOG_MERCED_PORT)) { +			return 1; +	} +	return 0; +} + +int __init machine_has_merced_bus(void) +{ +	int ret; + +	ret = for_each_padev(is_IKE_device, NULL); +	return ret ? 1 : 0; +} +  /**   * find_pa_parent_type - Find a parent of a specific type   * @dev: The device to start searching from |