diff options
Diffstat (limited to 'arch/powerpc/sysdev/fsl_soc.c')
| -rw-r--r-- | arch/powerpc/sysdev/fsl_soc.c | 109 | 
1 files changed, 0 insertions, 109 deletions
diff --git a/arch/powerpc/sysdev/fsl_soc.c b/arch/powerpc/sysdev/fsl_soc.c index a01c89d3f9b..afe8dbc964a 100644 --- a/arch/powerpc/sysdev/fsl_soc.c +++ b/arch/powerpc/sysdev/fsl_soc.c @@ -417,115 +417,6 @@ err:  arch_initcall(fsl_usb_of_init); -static int __init of_fsl_spi_probe(char *type, char *compatible, u32 sysclk, -				   struct spi_board_info *board_infos, -				   unsigned int num_board_infos, -				   void (*activate_cs)(u8 cs, u8 polarity), -				   void (*deactivate_cs)(u8 cs, u8 polarity)) -{ -	struct device_node *np; -	unsigned int i = 0; - -	for_each_compatible_node(np, type, compatible) { -		int ret; -		unsigned int j; -		const void *prop; -		struct resource res[2]; -		struct platform_device *pdev; -		struct fsl_spi_platform_data pdata = { -			.activate_cs = activate_cs, -			.deactivate_cs = deactivate_cs, -		}; - -		memset(res, 0, sizeof(res)); - -		pdata.sysclk = sysclk; - -		prop = of_get_property(np, "reg", NULL); -		if (!prop) -			goto err; -		pdata.bus_num = *(u32 *)prop; - -		prop = of_get_property(np, "cell-index", NULL); -		if (prop) -			i = *(u32 *)prop; - -		prop = of_get_property(np, "mode", NULL); -		if (prop && !strcmp(prop, "cpu-qe")) -			pdata.qe_mode = 1; - -		for (j = 0; j < num_board_infos; j++) { -			if (board_infos[j].bus_num == pdata.bus_num) -				pdata.max_chipselect++; -		} - -		if (!pdata.max_chipselect) -			continue; - -		ret = of_address_to_resource(np, 0, &res[0]); -		if (ret) -			goto err; - -		ret = of_irq_to_resource(np, 0, &res[1]); -		if (ret == NO_IRQ) -			goto err; - -		pdev = platform_device_alloc("mpc83xx_spi", i); -		if (!pdev) -			goto err; - -		ret = platform_device_add_data(pdev, &pdata, sizeof(pdata)); -		if (ret) -			goto unreg; - -		ret = platform_device_add_resources(pdev, res, -						    ARRAY_SIZE(res)); -		if (ret) -			goto unreg; - -		ret = platform_device_add(pdev); -		if (ret) -			goto unreg; - -		goto next; -unreg: -		platform_device_del(pdev); -err: -		pr_err("%s: registration failed\n", np->full_name); -next: -		i++; -	} - -	return i; -} - -int __init fsl_spi_init(struct spi_board_info *board_infos, -			unsigned int num_board_infos, -			void (*activate_cs)(u8 cs, u8 polarity), -			void (*deactivate_cs)(u8 cs, u8 polarity)) -{ -	u32 sysclk = -1; -	int ret; - -#ifdef CONFIG_QUICC_ENGINE -	/* SPI controller is either clocked from QE or SoC clock */ -	sysclk = get_brgfreq(); -#endif -	if (sysclk == -1) { -		sysclk = fsl_get_sys_freq(); -		if (sysclk == -1) -			return -ENODEV; -	} - -	ret = of_fsl_spi_probe(NULL, "fsl,spi", sysclk, board_infos, -			       num_board_infos, activate_cs, deactivate_cs); -	if (!ret) -		of_fsl_spi_probe("spi", "fsl_spi", sysclk, board_infos, -				 num_board_infos, activate_cs, deactivate_cs); - -	return spi_register_board_info(board_infos, num_board_infos); -} -  #if defined(CONFIG_PPC_85xx) || defined(CONFIG_PPC_86xx)  static __be32 __iomem *rstcr;  |