diff options
Diffstat (limited to 'arch/mips/txx9')
23 files changed, 214 insertions, 241 deletions
diff --git a/arch/mips/txx9/Kconfig b/arch/mips/txx9/Kconfig index 852ae4bb7a8..6d40bc78345 100644 --- a/arch/mips/txx9/Kconfig +++ b/arch/mips/txx9/Kconfig @@ -20,6 +20,7 @@ config MACH_TXX9  	select SYS_SUPPORTS_32BIT_KERNEL  	select SYS_SUPPORTS_LITTLE_ENDIAN  	select SYS_SUPPORTS_BIG_ENDIAN +	select HAVE_CLK  config TOSHIBA_JMR3927  	bool "Toshiba JMR-TX3927 board" diff --git a/arch/mips/txx9/Platform b/arch/mips/txx9/Platform index a801abbe138..a176d1fd579 100644 --- a/arch/mips/txx9/Platform +++ b/arch/mips/txx9/Platform @@ -6,5 +6,5 @@ cflags-$(CONFIG_MACH_TX39XX)	+=					\  cflags-$(CONFIG_MACH_TX49XX)	+=					\  		 -I$(srctree)/arch/mips/include/asm/mach-tx49xx -load-$(CONFIG_MACH_TX39XX)      += 0xffffffff80050000 -load-$(CONFIG_MACH_TX49XX)      += 0xffffffff80100000 +load-$(CONFIG_MACH_TX39XX)	+= 0xffffffff80050000 +load-$(CONFIG_MACH_TX49XX)	+= 0xffffffff80100000 diff --git a/arch/mips/txx9/generic/7segled.c b/arch/mips/txx9/generic/7segled.c index 7f8416f8622..4642f56e70e 100644 --- a/arch/mips/txx9/generic/7segled.c +++ b/arch/mips/txx9/generic/7segled.c @@ -9,7 +9,7 @@   * (C) Copyright TOSHIBA CORPORATION 2005-2007   * All Rights Reserved.   */ -#include <linux/sysdev.h> +#include <linux/device.h>  #include <linux/slab.h>  #include <linux/map_to_7segment.h>  #include <asm/txx9/generic.h> @@ -37,8 +37,8 @@ int txx9_7segled_putc(unsigned int pos, char c)  	return 0;  } -static ssize_t ascii_store(struct sys_device *dev, -			   struct sysdev_attribute *attr, +static ssize_t ascii_store(struct device *dev, +			   struct device_attribute *attr,  			   const char *buf, size_t size)  {  	unsigned int ch = dev->id; @@ -46,8 +46,8 @@ static ssize_t ascii_store(struct sys_device *dev,  	return size;  } -static ssize_t raw_store(struct sys_device *dev, -			 struct sysdev_attribute *attr, +static ssize_t raw_store(struct device *dev, +			 struct device_attribute *attr,  			 const char *buf, size_t size)  {  	unsigned int ch = dev->id; @@ -55,19 +55,19 @@ static ssize_t raw_store(struct sys_device *dev,  	return size;  } -static SYSDEV_ATTR(ascii, 0200, NULL, ascii_store); -static SYSDEV_ATTR(raw, 0200, NULL, raw_store); +static DEVICE_ATTR(ascii, 0200, NULL, ascii_store); +static DEVICE_ATTR(raw, 0200, NULL, raw_store); -static ssize_t map_seg7_show(struct sysdev_class *class, -			     struct sysdev_class_attribute *attr, +static ssize_t map_seg7_show(struct device *dev, +			     struct device_attribute *attr,  			     char *buf)  {  	memcpy(buf, &txx9_seg7map, sizeof(txx9_seg7map));  	return sizeof(txx9_seg7map);  } -static ssize_t map_seg7_store(struct sysdev_class *class, -			      struct sysdev_class_attribute *attr, +static ssize_t map_seg7_store(struct device *dev, +			      struct device_attribute *attr,  			      const char *buf, size_t size)  {  	if (size != sizeof(txx9_seg7map)) @@ -76,10 +76,11 @@ static ssize_t map_seg7_store(struct sysdev_class *class,  	return size;  } -static SYSDEV_CLASS_ATTR(map_seg7, 0600, map_seg7_show, map_seg7_store); +static DEVICE_ATTR(map_seg7, 0600, map_seg7_show, map_seg7_store); -static struct sysdev_class tx_7segled_sysdev_class = { -	.name	= "7segled", +static struct bus_type tx_7segled_subsys = { +	.name		= "7segled", +	.dev_name	= "7segled",  };  static int __init tx_7segled_init_sysfs(void) @@ -87,26 +88,25 @@ static int __init tx_7segled_init_sysfs(void)  	int error, i;  	if (!tx_7segled_num)  		return -ENODEV; -	error = sysdev_class_register(&tx_7segled_sysdev_class); +	error = subsys_system_register(&tx_7segled_subsys, NULL);  	if (error)  		return error; -	error = sysdev_class_create_file(&tx_7segled_sysdev_class, -					 &attr_map_seg7); +	error = device_create_file(tx_7segled_subsys.dev_root, &dev_attr_map_seg7);  	if (error)  		return error;  	for (i = 0; i < tx_7segled_num; i++) { -		struct sys_device *dev; +		struct device *dev;  		dev = kzalloc(sizeof(*dev), GFP_KERNEL);  		if (!dev) {  			error = -ENODEV;  			break;  		}  		dev->id = i; -		dev->cls = &tx_7segled_sysdev_class; -		error = sysdev_register(dev); +		dev->bus = &tx_7segled_subsys; +		error = device_register(dev);  		if (!error) { -			sysdev_create_file(dev, &attr_ascii); -			sysdev_create_file(dev, &attr_raw); +			device_create_file(dev, &dev_attr_ascii); +			device_create_file(dev, &dev_attr_raw);  		}  	}  	return error; diff --git a/arch/mips/txx9/generic/irq_tx4927.c b/arch/mips/txx9/generic/irq_tx4927.c index e1828e8bcae..ed8e702d448 100644 --- a/arch/mips/txx9/generic/irq_tx4927.c +++ b/arch/mips/txx9/generic/irq_tx4927.c @@ -2,7 +2,7 @@   * Common tx4927 irq handler   *   * Author: MontaVista Software, Inc. - *         source@mvista.com + *	   source@mvista.com   *   *  under the terms of the GNU General Public License as published by the   *  Free Software Foundation; either version 2 of the License, or (at your @@ -35,7 +35,7 @@ void __init tx4927_irq_init(void)  	mips_cpu_irq_init();  	txx9_irq_init(TX4927_IRC_REG & 0xfffffffffULL); -	set_irq_chained_handler(MIPS_CPU_IRQ_BASE + TX4927_IRC_INT, +	irq_set_chained_handler(MIPS_CPU_IRQ_BASE + TX4927_IRC_INT,  				handle_simple_irq);  	/* raise priority for errors, timers, SIO */  	txx9_irq_set_pri(TX4927_IR_ECCERR, 7); diff --git a/arch/mips/txx9/generic/irq_tx4938.c b/arch/mips/txx9/generic/irq_tx4938.c index a6e6e805097..aace8565332 100644 --- a/arch/mips/txx9/generic/irq_tx4938.c +++ b/arch/mips/txx9/generic/irq_tx4938.c @@ -23,7 +23,7 @@ void __init tx4938_irq_init(void)  	mips_cpu_irq_init();  	txx9_irq_init(TX4938_IRC_REG & 0xfffffffffULL); -	set_irq_chained_handler(MIPS_CPU_IRQ_BASE + TX4938_IRC_INT, +	irq_set_chained_handler(MIPS_CPU_IRQ_BASE + TX4938_IRC_INT,  				handle_simple_irq);  	/* raise priority for errors, timers, SIO */  	txx9_irq_set_pri(TX4938_IR_ECCERR, 7); diff --git a/arch/mips/txx9/generic/irq_tx4939.c b/arch/mips/txx9/generic/irq_tx4939.c index 3886ad77cba..0d7267e81a8 100644 --- a/arch/mips/txx9/generic/irq_tx4939.c +++ b/arch/mips/txx9/generic/irq_tx4939.c @@ -5,8 +5,8 @@   *   * Copyright 2001, 2003-2005 MontaVista Software Inc.   * Author: MontaVista Software, Inc. - *         ahennessy@mvista.com - *         source@mvista.com + *	   ahennessy@mvista.com + *	   source@mvista.com   * Copyright (C) 2000-2001,2005-2007 Toshiba Corporation   *   * This file is subject to the terms and conditions of the GNU General Public @@ -50,9 +50,9 @@ static struct {  	unsigned char mode;  } tx4939irq[TX4939_NUM_IR] __read_mostly; -static void tx4939_irq_unmask(unsigned int irq) +static void tx4939_irq_unmask(struct irq_data *d)  { -	unsigned int irq_nr = irq - TXX9_IRQ_BASE; +	unsigned int irq_nr = d->irq - TXX9_IRQ_BASE;  	u32 __iomem *lvlp;  	int ofs;  	if (irq_nr < 32) { @@ -68,9 +68,9 @@ static void tx4939_irq_unmask(unsigned int irq)  		     lvlp);  } -static inline void tx4939_irq_mask(unsigned int irq) +static inline void tx4939_irq_mask(struct irq_data *d)  { -	unsigned int irq_nr = irq - TXX9_IRQ_BASE; +	unsigned int irq_nr = d->irq - TXX9_IRQ_BASE;  	u32 __iomem *lvlp;  	int ofs;  	if (irq_nr < 32) { @@ -87,11 +87,11 @@ static inline void tx4939_irq_mask(unsigned int irq)  	mmiowb();  } -static void tx4939_irq_mask_ack(unsigned int irq) +static void tx4939_irq_mask_ack(struct irq_data *d)  { -	unsigned int irq_nr = irq - TXX9_IRQ_BASE; +	unsigned int irq_nr = d->irq - TXX9_IRQ_BASE; -	tx4939_irq_mask(irq); +	tx4939_irq_mask(d);  	if (TXx9_IRCR_EDGE(tx4939irq[irq_nr].mode)) {  		irq_nr--;  		/* clear edge detection */ @@ -101,9 +101,9 @@ static void tx4939_irq_mask_ack(unsigned int irq)  	}  } -static int tx4939_irq_set_type(unsigned int irq, unsigned int flow_type) +static int tx4939_irq_set_type(struct irq_data *d, unsigned int flow_type)  { -	unsigned int irq_nr = irq - TXX9_IRQ_BASE; +	unsigned int irq_nr = d->irq - TXX9_IRQ_BASE;  	u32 cr;  	u32 __iomem *crp;  	int ofs; @@ -145,11 +145,11 @@ static int tx4939_irq_set_type(unsigned int irq, unsigned int flow_type)  static struct irq_chip tx4939_irq_chip = {  	.name		= "TX4939", -	.ack		= tx4939_irq_mask_ack, -	.mask		= tx4939_irq_mask, -	.mask_ack	= tx4939_irq_mask_ack, -	.unmask		= tx4939_irq_unmask, -	.set_type	= tx4939_irq_set_type, +	.irq_ack	= tx4939_irq_mask_ack, +	.irq_mask	= tx4939_irq_mask, +	.irq_mask_ack	= tx4939_irq_mask_ack, +	.irq_unmask	= tx4939_irq_unmask, +	.irq_set_type	= tx4939_irq_set_type,  };  static int tx4939_irq_set_pri(int irc_irq, int new_pri) @@ -176,8 +176,8 @@ void __init tx4939_irq_init(void)  	for (i = 1; i < TX4939_NUM_IR; i++) {  		tx4939irq[i].level = 4; /* middle level */  		tx4939irq[i].mode = TXx9_IRCR_LOW; -		set_irq_chip_and_handler(TXX9_IRQ_BASE + i, -					 &tx4939_irq_chip, handle_level_irq); +		irq_set_chip_and_handler(TXX9_IRQ_BASE + i, &tx4939_irq_chip, +					 handle_level_irq);  	}  	/* mask all IRC interrupts */ @@ -193,7 +193,7 @@ void __init tx4939_irq_init(void)  	__raw_writel(TXx9_IRCER_ICE, &tx4939_ircptr->den.r);  	__raw_writel(irc_elevel, &tx4939_ircptr->msk.r); -	set_irq_chained_handler(MIPS_CPU_IRQ_BASE + TX4939_IRC_INT, +	irq_set_chained_handler(MIPS_CPU_IRQ_BASE + TX4939_IRC_INT,  				handle_simple_irq);  	/* raise priority for errors, timers, sio */ diff --git a/arch/mips/txx9/generic/mem_tx4927.c b/arch/mips/txx9/generic/mem_tx4927.c index 70f9626f822..deea2ceae8a 100644 --- a/arch/mips/txx9/generic/mem_tx4927.c +++ b/arch/mips/txx9/generic/mem_tx4927.c @@ -2,7 +2,7 @@   * common tx4927 memory interface   *   * Author: MontaVista Software, Inc. - *         source@mvista.com + *	   source@mvista.com   *   * Copyright 2001-2002 MontaVista Software Inc.   * diff --git a/arch/mips/txx9/generic/pci.c b/arch/mips/txx9/generic/pci.c index 9a0be810caf..28713274e0c 100644 --- a/arch/mips/txx9/generic/pci.c +++ b/arch/mips/txx9/generic/pci.c @@ -2,7 +2,7 @@   * linux/arch/mips/txx9/pci.c   *   * Based on linux/arch/mips/txx9/rbtx4927/setup.c, - *          linux/arch/mips/txx9/rbtx4938/setup.c, + *	    linux/arch/mips/txx9/rbtx4938/setup.c,   *	    and RBTX49xx patch from CELF patch archive.   *   * Copyright 2001-2005 MontaVista Software Inc. @@ -107,7 +107,7 @@ int txx9_pci_mem_high __initdata;  /*   * allocate pci_controller and resources. - * mem_base, io_base: physical addresss.  0 for auto assignment. + * mem_base, io_base: physical address.	 0 for auto assignment.   * mem_size and io_size means max size on auto assignment.   * pcic must be &txx9_primary_pcic or NULL.   */ @@ -213,11 +213,8 @@ txx9_alloc_pci_controller(struct pci_controller *pcic,  	pcic->mem_offset = 0;	/* busaddr == physaddr */ -	printk(KERN_INFO "PCI: IO 0x%08llx-0x%08llx MEM 0x%08llx-0x%08llx\n", -	       (unsigned long long)pcic->mem_resource[1].start, -	       (unsigned long long)pcic->mem_resource[1].end, -	       (unsigned long long)pcic->mem_resource[0].start, -	       (unsigned long long)pcic->mem_resource[0].end); +	printk(KERN_INFO "PCI: IO %pR MEM %pR\n", +	       &pcic->mem_resource[1], &pcic->mem_resource[0]);  	/* register_pci_controller() will request MEM resource */  	release_resource(&pcic->mem_resource[0]); @@ -259,20 +256,19 @@ static irqreturn_t i8259_interrupt(int irq, void *dev_id)  	return IRQ_HANDLED;  } -static int __init -txx9_i8259_irq_setup(int irq) +static int txx9_i8259_irq_setup(int irq)  {  	int err;  	init_i8259_irqs(); -	err = request_irq(irq, &i8259_interrupt, IRQF_DISABLED|IRQF_SHARED, +	err = request_irq(irq, &i8259_interrupt, IRQF_SHARED,  			  "cascade(i8259)", (void *)(long)irq);  	if (!err)  		printk(KERN_INFO "PCI-ISA bridge PIC (irq %d)\n", irq);  	return err;  } -static void __init quirk_slc90e66_bridge(struct pci_dev *dev) +static void quirk_slc90e66_bridge(struct pci_dev *dev)  {  	int irq;	/* PCI/ISA Bridge interrupt */  	u8 reg_64; @@ -344,7 +340,7 @@ static void quirk_slc90e66_ide(struct pci_dev *dev)  static void tc35815_fixup(struct pci_dev *dev)  { -	/* This device may have PM registers but not they are not suported. */ +	/* This device may have PM registers but not they are not supported. */  	if (dev->pm_cap) {  		dev_info(&dev->dev, "PM disabled\n");  		dev->pm_cap = 0; @@ -401,9 +397,9 @@ int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)  	return txx9_board_vec->pci_map_irq(dev, slot, pin);  } -char * (*txx9_board_pcibios_setup)(char *str) __devinitdata; +char * (*txx9_board_pcibios_setup)(char *str) __initdata; -char *__devinit txx9_pcibios_setup(char *str) +char *__init txx9_pcibios_setup(char *str)  {  	if (txx9_board_pcibios_setup && !txx9_board_pcibios_setup(str))  		return NULL; diff --git a/arch/mips/txx9/generic/setup.c b/arch/mips/txx9/generic/setup.c index 812816c4566..dd2cf25b5ae 100644 --- a/arch/mips/txx9/generic/setup.c +++ b/arch/mips/txx9/generic/setup.c @@ -22,10 +22,11 @@  #include <linux/serial_core.h>  #include <linux/mtd/physmap.h>  #include <linux/leds.h> -#include <linux/sysdev.h> +#include <linux/device.h>  #include <linux/slab.h>  #include <linux/irq.h>  #include <asm/bootinfo.h> +#include <asm/idle.h>  #include <asm/time.h>  #include <asm/reboot.h>  #include <asm/r4kcache.h> @@ -118,7 +119,7 @@ EXPORT_SYMBOL(clk_put);  /* GPIO support */ -#ifdef CONFIG_GENERIC_GPIO +#ifdef CONFIG_GPIOLIB  int gpio_to_irq(unsigned gpio)  {  	return -EINVAL; @@ -308,8 +309,8 @@ static void __init preprocess_cmdline(void)  			txx9_board_vec = find_board_byname(str + 6);  			continue;  		} else if (strncmp(str, "masterclk=", 10) == 0) { -			unsigned long val; -			if (strict_strtoul(str + 10, 10, &val) == 0) +			unsigned int val; +			if (kstrtouint(str + 10, 10, &val) == 0)  				txx9_master_clock = val;  			continue;  		} else if (strcmp(str, "icdisable") == 0) { @@ -349,7 +350,7 @@ static void __init select_board(void)  	}  	/* select "default" board */ -#ifdef CONFIG_CPU_TX39XX +#ifdef CONFIG_TOSHIBA_JMR3927  	txx9_board_vec = &jmr3927_vec;  #endif  #ifdef CONFIG_CPU_TX49XX @@ -513,19 +514,19 @@ void __init txx9_sio_init(unsigned long baseaddr, int irq,  }  #ifdef CONFIG_EARLY_PRINTK -static void __init null_prom_putchar(char c) +static void null_prom_putchar(char c)  {  } -void (*txx9_prom_putchar)(char c) __initdata = null_prom_putchar; +void (*txx9_prom_putchar)(char c) = null_prom_putchar; -void __init prom_putchar(char c) +void prom_putchar(char c)  {  	txx9_prom_putchar(c);  }  static void __iomem *early_txx9_sio_port; -static void __init early_txx9_sio_putchar(char c) +static void early_txx9_sio_putchar(char c)  {  #define TXX9_SICISR	0x0c  #define TXX9_SITFIFO	0x1c @@ -632,14 +633,13 @@ void __init txx9_physmap_flash_init(int no, unsigned long addr,  				    unsigned long size,  				    const struct physmap_flash_data *pdata)  { -#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) +#if IS_ENABLED(CONFIG_MTD_PHYSMAP)  	struct resource res = {  		.start = addr,  		.end = addr + size - 1,  		.flags = IORESOURCE_MEM,  	};  	struct platform_device *pdev; -#ifdef CONFIG_MTD_PARTITIONS  	static struct mtd_partition parts[2];  	struct physmap_flash_data pdata_part; @@ -658,7 +658,7 @@ void __init txx9_physmap_flash_init(int no, unsigned long addr,  		pdata_part.parts = parts;  		pdata = &pdata_part;  	} -#endif +  	pdev = platform_device_alloc("physmap-flash", no);  	if (!pdev ||  	    platform_device_add_resources(pdev, &res, 1) || @@ -671,8 +671,7 @@ void __init txx9_physmap_flash_init(int no, unsigned long addr,  void __init txx9_ndfmc_init(unsigned long baseaddr,  			    const struct txx9ndfmc_platform_data *pdata)  { -#if defined(CONFIG_MTD_NAND_TXX9NDFMC) || \ -	defined(CONFIG_MTD_NAND_TXX9NDFMC_MODULE) +#if IS_ENABLED(CONFIG_MTD_NAND_TXX9NDFMC)  	struct resource res = {  		.start = baseaddr,  		.end = baseaddr + 0x1000 - 1, @@ -688,7 +687,7 @@ void __init txx9_ndfmc_init(unsigned long baseaddr,  #endif  } -#if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE) +#if IS_ENABLED(CONFIG_LEDS_GPIO)  static DEFINE_SPINLOCK(txx9_iocled_lock);  #define TXX9_IOCLED_MAXLEDS 8 @@ -811,7 +810,7 @@ void __init txx9_iocled_init(unsigned long baseaddr,  void __init txx9_dmac_init(int id, unsigned long baseaddr, int irq,  			   const struct txx9dmac_platform_data *pdata)  { -#if defined(CONFIG_TXX9_DMAC) || defined(CONFIG_TXX9_DMAC_MODULE) +#if IS_ENABLED(CONFIG_TXX9_DMAC)  	struct resource res[] = {  		{  			.start = baseaddr, @@ -867,8 +866,7 @@ void __init txx9_aclc_init(unsigned long baseaddr, int irq,  			   unsigned int dma_chan_out,  			   unsigned int dma_chan_in)  { -#if defined(CONFIG_SND_SOC_TXX9ACLC) || \ -	defined(CONFIG_SND_SOC_TXX9ACLC_MODULE) +#if IS_ENABLED(CONFIG_SND_SOC_TXX9ACLC)  	unsigned int dma_base = dmac_id * TXX9_DMA_MAX_NR_CHANNELS;  	struct resource res[] = {  		{ @@ -898,10 +896,13 @@ void __init txx9_aclc_init(unsigned long baseaddr, int irq,  #endif  } -static struct sysdev_class txx9_sramc_sysdev_class; +static struct bus_type txx9_sramc_subsys = { +	.name = "txx9_sram", +	.dev_name = "txx9_sram", +}; -struct txx9_sramc_sysdev { -	struct sys_device dev; +struct txx9_sramc_dev { +	struct device dev;  	struct bin_attribute bindata_attr;  	void __iomem *base;  }; @@ -910,7 +911,7 @@ static ssize_t txx9_sram_read(struct file *filp, struct kobject *kobj,  			      struct bin_attribute *bin_attr,  			      char *buf, loff_t pos, size_t size)  { -	struct txx9_sramc_sysdev *dev = bin_attr->private; +	struct txx9_sramc_dev *dev = bin_attr->private;  	size_t ramsize = bin_attr->size;  	if (pos >= ramsize) @@ -925,7 +926,7 @@ static ssize_t txx9_sram_write(struct file *filp, struct kobject *kobj,  			       struct bin_attribute *bin_attr,  			       char *buf, loff_t pos, size_t size)  { -	struct txx9_sramc_sysdev *dev = bin_attr->private; +	struct txx9_sramc_dev *dev = bin_attr->private;  	size_t ramsize = bin_attr->size;  	if (pos >= ramsize) @@ -938,18 +939,13 @@ static ssize_t txx9_sram_write(struct file *filp, struct kobject *kobj,  void __init txx9_sramc_init(struct resource *r)  { -	struct txx9_sramc_sysdev *dev; +	struct txx9_sramc_dev *dev;  	size_t size;  	int err; -	if (!txx9_sramc_sysdev_class.name) { -		txx9_sramc_sysdev_class.name = "txx9_sram"; -		err = sysdev_class_register(&txx9_sramc_sysdev_class); -		if (err) { -			txx9_sramc_sysdev_class.name = NULL; -			return; -		} -	} +	err = subsys_system_register(&txx9_sramc_subsys, NULL); +	if (err) +		return;  	dev = kzalloc(sizeof(*dev), GFP_KERNEL);  	if (!dev)  		return; @@ -957,7 +953,7 @@ void __init txx9_sramc_init(struct resource *r)  	dev->base = ioremap(r->start, size);  	if (!dev->base)  		goto exit; -	dev->dev.cls = &txx9_sramc_sysdev_class; +	dev->dev.bus = &txx9_sramc_subsys;  	sysfs_bin_attr_init(&dev->bindata_attr);  	dev->bindata_attr.attr.name = "bindata";  	dev->bindata_attr.attr.mode = S_IRUSR | S_IWUSR; @@ -965,12 +961,12 @@ void __init txx9_sramc_init(struct resource *r)  	dev->bindata_attr.write = txx9_sram_write;  	dev->bindata_attr.size = size;  	dev->bindata_attr.private = dev; -	err = sysdev_register(&dev->dev); +	err = device_register(&dev->dev);  	if (err)  		goto exit;  	err = sysfs_create_bin_file(&dev->dev.kobj, &dev->bindata_attr);  	if (err) { -		sysdev_unregister(&dev->dev); +		device_unregister(&dev->dev);  		goto exit;  	}  	return; diff --git a/arch/mips/txx9/generic/setup_tx3927.c b/arch/mips/txx9/generic/setup_tx3927.c index 9505d58454c..110e05c3eb8 100644 --- a/arch/mips/txx9/generic/setup_tx3927.c +++ b/arch/mips/txx9/generic/setup_tx3927.c @@ -132,6 +132,6 @@ void __init tx3927_mtd_init(int ch)  	unsigned long size = txx9_ce_res[ch].end - start + 1;  	if (!(tx3927_romcptr->cr[ch] & 0x8)) -		return;	/* disabled */ +		return; /* disabled */  	txx9_physmap_flash_init(ch, start, size, &pdata);  } diff --git a/arch/mips/txx9/generic/setup_tx4927.c b/arch/mips/txx9/generic/setup_tx4927.c index 3418b2a90f7..e714d6ce9a8 100644 --- a/arch/mips/txx9/generic/setup_tx4927.c +++ b/arch/mips/txx9/generic/setup_tx4927.c @@ -250,7 +250,7 @@ void __init tx4927_mtd_init(int ch)  	unsigned long size = txx9_ce_res[ch].end - start + 1;  	if (!(TX4927_EBUSC_CR(ch) & 0x8)) -		return;	/* disabled */ +		return; /* disabled */  	txx9_physmap_flash_init(ch, start, size, &pdata);  } diff --git a/arch/mips/txx9/generic/setup_tx4938.c b/arch/mips/txx9/generic/setup_tx4938.c index eb208011023..0a3bf2dfaba 100644 --- a/arch/mips/txx9/generic/setup_tx4938.c +++ b/arch/mips/txx9/generic/setup_tx4938.c @@ -329,7 +329,7 @@ void __init tx4938_mtd_init(int ch)  	unsigned long size = txx9_ce_res[ch].end - start + 1;  	if (!(TX4938_EBUSC_CR(ch) & 0x8)) -		return;	/* disabled */ +		return; /* disabled */  	txx9_physmap_flash_init(ch, start, size, &pdata);  } diff --git a/arch/mips/txx9/generic/setup_tx4939.c b/arch/mips/txx9/generic/setup_tx4939.c index 3dc19f48295..b7eccbd17bf 100644 --- a/arch/mips/txx9/generic/setup_tx4939.c +++ b/arch/mips/txx9/generic/setup_tx4939.c @@ -15,7 +15,7 @@  #include <linux/delay.h>  #include <linux/netdevice.h>  #include <linux/notifier.h> -#include <linux/sysdev.h> +#include <linux/device.h>  #include <linux/ethtool.h>  #include <linux/param.h>  #include <linux/ptrace.h> @@ -301,7 +301,7 @@ void __init tx4939_sio_init(unsigned int sclk, unsigned int cts_mask)  	unsigned int ch_mask = 0;  	__u64 pcfg = __raw_readq(&tx4939_ccfgptr->pcfg); -	cts_mask |= ~1;	/* only SIO0 have RTS/CTS */ +	cts_mask |= ~1; /* only SIO0 have RTS/CTS */  	if ((pcfg & TX4939_PCFG_SIO2MODE_MASK) != TX4939_PCFG_SIO2MODE_SIO0)  		cts_mask |= 1 << 0; /* disable SIO0 RTS/CTS by PCFG setting */  	if ((pcfg & TX4939_PCFG_SIO2MODE_MASK) != TX4939_PCFG_SIO2MODE_SIO2) @@ -317,25 +317,22 @@ void __init tx4939_sio_init(unsigned int sclk, unsigned int cts_mask)  	}  } -#if defined(CONFIG_TC35815) || defined(CONFIG_TC35815_MODULE) -static int tx4939_get_eth_speed(struct net_device *dev) +#if IS_ENABLED(CONFIG_TC35815) +static u32 tx4939_get_eth_speed(struct net_device *dev)  { -	struct ethtool_cmd cmd = { ETHTOOL_GSET }; -	int speed = 100;	/* default 100Mbps */ -	int err; -	if (!dev->ethtool_ops || !dev->ethtool_ops->get_settings) -		return speed; -	err = dev->ethtool_ops->get_settings(dev, &cmd); -	if (err < 0) -		return speed; -	speed = cmd.speed == SPEED_100 ? 100 : 10; -	return speed; +	struct ethtool_cmd cmd; +	if (__ethtool_get_settings(dev, &cmd)) +		return 100;	/* default 100Mbps */ + +	return ethtool_cmd_speed(&cmd);  } +  static int tx4939_netdev_event(struct notifier_block *this,  			       unsigned long event,  			       void *ptr)  { -	struct net_device *dev = ptr; +	struct net_device *dev = netdev_notifier_info_to_dev(ptr); +  	if (event == NETDEV_CHANGE && netif_carrier_ok(dev)) {  		__u64 bit = 0;  		if (dev->irq == TXX9_IRQ_BASE + TX4939_IR_ETH(0)) @@ -343,8 +340,7 @@ static int tx4939_netdev_event(struct notifier_block *this,  		else if (dev->irq == TXX9_IRQ_BASE + TX4939_IR_ETH(1))  			bit = TX4939_PCFG_SPEED1;  		if (bit) { -			int speed = tx4939_get_eth_speed(dev); -			if (speed == 100) +			if (tx4939_get_eth_speed(dev) == 100)  				txx9_set64(&tx4939_ccfgptr->pcfg, bit);  			else  				txx9_clear64(&tx4939_ccfgptr->pcfg, bit); @@ -383,7 +379,7 @@ void __init tx4939_mtd_init(int ch)  	unsigned long size = txx9_ce_res[ch].end - start + 1;  	if (!(TX4939_EBUSC_CR(ch) & 0x8)) -		return;	/* disabled */ +		return; /* disabled */  	txx9_physmap_flash_init(ch, start, size, &pdata);  } diff --git a/arch/mips/txx9/generic/smsc_fdc37m81x.c b/arch/mips/txx9/generic/smsc_fdc37m81x.c index 8ebc3848f3a..f98baa6263d 100644 --- a/arch/mips/txx9/generic/smsc_fdc37m81x.c +++ b/arch/mips/txx9/generic/smsc_fdc37m81x.c @@ -18,40 +18,40 @@  /* Common Registers */  #define SMSC_FDC37M81X_CONFIG_INDEX  0x00  #define SMSC_FDC37M81X_CONFIG_DATA   0x01 -#define SMSC_FDC37M81X_CONF          0x02 -#define SMSC_FDC37M81X_INDEX         0x03 -#define SMSC_FDC37M81X_DNUM          0x07 -#define SMSC_FDC37M81X_DID           0x20 -#define SMSC_FDC37M81X_DREV          0x21 -#define SMSC_FDC37M81X_PCNT          0x22 -#define SMSC_FDC37M81X_PMGT          0x23 -#define SMSC_FDC37M81X_OSC           0x24 -#define SMSC_FDC37M81X_CONFPA0       0x26 -#define SMSC_FDC37M81X_CONFPA1       0x27 -#define SMSC_FDC37M81X_TEST4         0x2B -#define SMSC_FDC37M81X_TEST5         0x2C -#define SMSC_FDC37M81X_TEST1         0x2D -#define SMSC_FDC37M81X_TEST2         0x2E -#define SMSC_FDC37M81X_TEST3         0x2F +#define SMSC_FDC37M81X_CONF	     0x02 +#define SMSC_FDC37M81X_INDEX	     0x03 +#define SMSC_FDC37M81X_DNUM	     0x07 +#define SMSC_FDC37M81X_DID	     0x20 +#define SMSC_FDC37M81X_DREV	     0x21 +#define SMSC_FDC37M81X_PCNT	     0x22 +#define SMSC_FDC37M81X_PMGT	     0x23 +#define SMSC_FDC37M81X_OSC	     0x24 +#define SMSC_FDC37M81X_CONFPA0	     0x26 +#define SMSC_FDC37M81X_CONFPA1	     0x27 +#define SMSC_FDC37M81X_TEST4	     0x2B +#define SMSC_FDC37M81X_TEST5	     0x2C +#define SMSC_FDC37M81X_TEST1	     0x2D +#define SMSC_FDC37M81X_TEST2	     0x2E +#define SMSC_FDC37M81X_TEST3	     0x2F  /* Logical device numbers */ -#define SMSC_FDC37M81X_FDD           0x00 -#define SMSC_FDC37M81X_SERIAL1       0x04 -#define SMSC_FDC37M81X_SERIAL2       0x05 -#define SMSC_FDC37M81X_KBD           0x07 +#define SMSC_FDC37M81X_FDD	     0x00 +#define SMSC_FDC37M81X_SERIAL1	     0x04 +#define SMSC_FDC37M81X_SERIAL2	     0x05 +#define SMSC_FDC37M81X_KBD	     0x07  /* Logical device Config Registers */ -#define SMSC_FDC37M81X_ACTIVE        0x30 +#define SMSC_FDC37M81X_ACTIVE	     0x30  #define SMSC_FDC37M81X_BASEADDR0     0x60  #define SMSC_FDC37M81X_BASEADDR1     0x61 -#define SMSC_FDC37M81X_INT           0x70 -#define SMSC_FDC37M81X_INT2          0x72 -#define SMSC_FDC37M81X_MODE          0xF0 +#define SMSC_FDC37M81X_INT	     0x70 +#define SMSC_FDC37M81X_INT2	     0x72 +#define SMSC_FDC37M81X_MODE	     0xF0  /* Chip Config Values */  #define SMSC_FDC37M81X_CONFIG_ENTER  0x55  #define SMSC_FDC37M81X_CONFIG_EXIT   0xaa -#define SMSC_FDC37M81X_CHIP_ID       0x4d +#define SMSC_FDC37M81X_CHIP_ID	     0x4d  static unsigned long g_smsc_fdc37m81x_base; diff --git a/arch/mips/txx9/generic/spi_eeprom.c b/arch/mips/txx9/generic/spi_eeprom.c index 103abc13d62..3dbad99d561 100644 --- a/arch/mips/txx9/generic/spi_eeprom.c +++ b/arch/mips/txx9/generic/spi_eeprom.c @@ -11,6 +11,7 @@   */  #include <linux/init.h>  #include <linux/slab.h> +#include <linux/export.h>  #include <linux/device.h>  #include <linux/spi/spi.h>  #include <linux/spi/eeprom.h> diff --git a/arch/mips/txx9/jmr3927/irq.c b/arch/mips/txx9/jmr3927/irq.c index 0a7f8e3b9fd..c22c859a2c4 100644 --- a/arch/mips/txx9/jmr3927/irq.c +++ b/arch/mips/txx9/jmr3927/irq.c @@ -47,20 +47,20 @@   * CP0_STATUS is a thread's resource (saved/restored on context switch).   * So disable_irq/enable_irq MUST handle IOC/IRC registers.   */ -static void mask_irq_ioc(unsigned int irq) +static void mask_irq_ioc(struct irq_data *d)  {  	/* 0: mask */ -	unsigned int irq_nr = irq - JMR3927_IRQ_IOC; +	unsigned int irq_nr = d->irq - JMR3927_IRQ_IOC;  	unsigned char imask = jmr3927_ioc_reg_in(JMR3927_IOC_INTM_ADDR);  	unsigned int bit = 1 << irq_nr;  	jmr3927_ioc_reg_out(imask & ~bit, JMR3927_IOC_INTM_ADDR);  	/* flush write buffer */  	(void)jmr3927_ioc_reg_in(JMR3927_IOC_REV_ADDR);  } -static void unmask_irq_ioc(unsigned int irq) +static void unmask_irq_ioc(struct irq_data *d)  {  	/* 0: mask */ -	unsigned int irq_nr = irq - JMR3927_IRQ_IOC; +	unsigned int irq_nr = d->irq - JMR3927_IRQ_IOC;  	unsigned char imask = jmr3927_ioc_reg_in(JMR3927_IOC_INTM_ADDR);  	unsigned int bit = 1 << irq_nr;  	jmr3927_ioc_reg_out(imask | bit, JMR3927_IOC_INTM_ADDR); @@ -95,10 +95,8 @@ static int jmr3927_irq_dispatch(int pending)  static struct irq_chip jmr3927_irq_ioc = {  	.name = "jmr3927_ioc", -	.ack = mask_irq_ioc, -	.mask = mask_irq_ioc, -	.mask_ack = mask_irq_ioc, -	.unmask = unmask_irq_ioc, +	.irq_mask = mask_irq_ioc, +	.irq_unmask = unmask_irq_ioc,  };  void __init jmr3927_irq_setup(void) @@ -122,8 +120,9 @@ void __init jmr3927_irq_setup(void)  	tx3927_irq_init();  	for (i = JMR3927_IRQ_IOC; i < JMR3927_IRQ_IOC + JMR3927_NR_IRQ_IOC; i++) -		set_irq_chip_and_handler(i, &jmr3927_irq_ioc, handle_level_irq); +		irq_set_chip_and_handler(i, &jmr3927_irq_ioc, +					 handle_level_irq);  	/* setup IOC interrupt 1 (PCI, MODEM) */ -	set_irq_chained_handler(JMR3927_IRQ_IOCINT, handle_simple_irq); +	irq_set_chained_handler(JMR3927_IRQ_IOCINT, handle_simple_irq);  } diff --git a/arch/mips/txx9/rbtx4927/irq.c b/arch/mips/txx9/rbtx4927/irq.c index c4b54d20efd..3f48292c9c6 100644 --- a/arch/mips/txx9/rbtx4927/irq.c +++ b/arch/mips/txx9/rbtx4927/irq.c @@ -2,7 +2,7 @@   * Toshiba RBTX4927 specific interrupt handlers   *   * Author: MontaVista Software, Inc. - *         source@mvista.com + *	   source@mvista.com   *   * Copyright 2001-2002 MontaVista Software Inc.   * @@ -117,18 +117,6 @@  #include <asm/txx9/generic.h>  #include <asm/txx9/rbtx4927.h> -static void toshiba_rbtx4927_irq_ioc_enable(unsigned int irq); -static void toshiba_rbtx4927_irq_ioc_disable(unsigned int irq); - -#define TOSHIBA_RBTX4927_IOC_NAME "RBTX4927-IOC" -static struct irq_chip toshiba_rbtx4927_irq_ioc_type = { -	.name = TOSHIBA_RBTX4927_IOC_NAME, -	.ack = toshiba_rbtx4927_irq_ioc_disable, -	.mask = toshiba_rbtx4927_irq_ioc_disable, -	.mask_ack = toshiba_rbtx4927_irq_ioc_disable, -	.unmask = toshiba_rbtx4927_irq_ioc_enable, -}; -  static int toshiba_rbtx4927_irq_nested(int sw_irq)  {  	u8 level3; @@ -139,41 +127,47 @@ static int toshiba_rbtx4927_irq_nested(int sw_irq)  	return RBTX4927_IRQ_IOC + __fls8(level3);  } -static void __init toshiba_rbtx4927_irq_ioc_init(void) -{ -	int i; - -	/* mask all IOC interrupts */ -	writeb(0, rbtx4927_imask_addr); -	/* clear SoftInt interrupts */ -	writeb(0, rbtx4927_softint_addr); - -	for (i = RBTX4927_IRQ_IOC; -	     i < RBTX4927_IRQ_IOC + RBTX4927_NR_IRQ_IOC; i++) -		set_irq_chip_and_handler(i, &toshiba_rbtx4927_irq_ioc_type, -					 handle_level_irq); -	set_irq_chained_handler(RBTX4927_IRQ_IOCINT, handle_simple_irq); -} - -static void toshiba_rbtx4927_irq_ioc_enable(unsigned int irq) +static void toshiba_rbtx4927_irq_ioc_enable(struct irq_data *d)  {  	unsigned char v;  	v = readb(rbtx4927_imask_addr); -	v |= (1 << (irq - RBTX4927_IRQ_IOC)); +	v |= (1 << (d->irq - RBTX4927_IRQ_IOC));  	writeb(v, rbtx4927_imask_addr);  } -static void toshiba_rbtx4927_irq_ioc_disable(unsigned int irq) +static void toshiba_rbtx4927_irq_ioc_disable(struct irq_data *d)  {  	unsigned char v;  	v = readb(rbtx4927_imask_addr); -	v &= ~(1 << (irq - RBTX4927_IRQ_IOC)); +	v &= ~(1 << (d->irq - RBTX4927_IRQ_IOC));  	writeb(v, rbtx4927_imask_addr);  	mmiowb();  } +#define TOSHIBA_RBTX4927_IOC_NAME "RBTX4927-IOC" +static struct irq_chip toshiba_rbtx4927_irq_ioc_type = { +	.name = TOSHIBA_RBTX4927_IOC_NAME, +	.irq_mask = toshiba_rbtx4927_irq_ioc_disable, +	.irq_unmask = toshiba_rbtx4927_irq_ioc_enable, +}; + +static void __init toshiba_rbtx4927_irq_ioc_init(void) +{ +	int i; + +	/* mask all IOC interrupts */ +	writeb(0, rbtx4927_imask_addr); +	/* clear SoftInt interrupts */ +	writeb(0, rbtx4927_softint_addr); + +	for (i = RBTX4927_IRQ_IOC; +	     i < RBTX4927_IRQ_IOC + RBTX4927_NR_IRQ_IOC; i++) +		irq_set_chip_and_handler(i, &toshiba_rbtx4927_irq_ioc_type, +					 handle_level_irq); +	irq_set_chained_handler(RBTX4927_IRQ_IOCINT, handle_simple_irq); +}  static int rbtx4927_irq_dispatch(int pending)  { @@ -200,5 +194,5 @@ void __init rbtx4927_irq_setup(void)  	tx4927_irq_init();  	toshiba_rbtx4927_irq_ioc_init();  	/* Onboard 10M Ether: High Active */ -	set_irq_type(RBTX4927_RTL_8019_IRQ, IRQF_TRIGGER_HIGH); +	irq_set_irq_type(RBTX4927_RTL_8019_IRQ, IRQF_TRIGGER_HIGH);  } diff --git a/arch/mips/txx9/rbtx4927/prom.c b/arch/mips/txx9/rbtx4927/prom.c index cc97c6a6011..fe6d0b54763 100644 --- a/arch/mips/txx9/rbtx4927/prom.c +++ b/arch/mips/txx9/rbtx4927/prom.c @@ -2,7 +2,7 @@   * rbtx4927 specific prom routines   *   * Author: MontaVista Software, Inc. - *         source@mvista.com + *	   source@mvista.com   *   * Copyright 2001-2002 MontaVista Software Inc.   * diff --git a/arch/mips/txx9/rbtx4927/setup.c b/arch/mips/txx9/rbtx4927/setup.c index b15adfc2d72..3c516ef625e 100644 --- a/arch/mips/txx9/rbtx4927/setup.c +++ b/arch/mips/txx9/rbtx4927/setup.c @@ -2,7 +2,7 @@   * Toshiba rbtx4927 specific setup   *   * Author: MontaVista Software, Inc. - *         source@mvista.com + *	   source@mvista.com   *   * Copyright 2001-2002 MontaVista Software Inc.   * diff --git a/arch/mips/txx9/rbtx4938/irq.c b/arch/mips/txx9/rbtx4938/irq.c index 67a73a8065e..58cd7a9272c 100644 --- a/arch/mips/txx9/rbtx4938/irq.c +++ b/arch/mips/txx9/rbtx4938/irq.c @@ -69,18 +69,6 @@  #include <asm/txx9/generic.h>  #include <asm/txx9/rbtx4938.h> -static void toshiba_rbtx4938_irq_ioc_enable(unsigned int irq); -static void toshiba_rbtx4938_irq_ioc_disable(unsigned int irq); - -#define TOSHIBA_RBTX4938_IOC_NAME "RBTX4938-IOC" -static struct irq_chip toshiba_rbtx4938_irq_ioc_type = { -	.name = TOSHIBA_RBTX4938_IOC_NAME, -	.ack = toshiba_rbtx4938_irq_ioc_disable, -	.mask = toshiba_rbtx4938_irq_ioc_disable, -	.mask_ack = toshiba_rbtx4938_irq_ioc_disable, -	.unmask = toshiba_rbtx4938_irq_ioc_enable, -}; -  static int toshiba_rbtx4938_irq_nested(int sw_irq)  {  	u8 level3; @@ -92,41 +80,33 @@ static int toshiba_rbtx4938_irq_nested(int sw_irq)  	return RBTX4938_IRQ_IOC + __fls8(level3);  } -static void __init -toshiba_rbtx4938_irq_ioc_init(void) -{ -	int i; - -	for (i = RBTX4938_IRQ_IOC; -	     i < RBTX4938_IRQ_IOC + RBTX4938_NR_IRQ_IOC; i++) -		set_irq_chip_and_handler(i, &toshiba_rbtx4938_irq_ioc_type, -					 handle_level_irq); - -	set_irq_chained_handler(RBTX4938_IRQ_IOCINT, handle_simple_irq); -} - -static void -toshiba_rbtx4938_irq_ioc_enable(unsigned int irq) +static void toshiba_rbtx4938_irq_ioc_enable(struct irq_data *d)  {  	unsigned char v;  	v = readb(rbtx4938_imask_addr); -	v |= (1 << (irq - RBTX4938_IRQ_IOC)); +	v |= (1 << (d->irq - RBTX4938_IRQ_IOC));  	writeb(v, rbtx4938_imask_addr);  	mmiowb();  } -static void -toshiba_rbtx4938_irq_ioc_disable(unsigned int irq) +static void toshiba_rbtx4938_irq_ioc_disable(struct irq_data *d)  {  	unsigned char v;  	v = readb(rbtx4938_imask_addr); -	v &= ~(1 << (irq - RBTX4938_IRQ_IOC)); +	v &= ~(1 << (d->irq - RBTX4938_IRQ_IOC));  	writeb(v, rbtx4938_imask_addr);  	mmiowb();  } +#define TOSHIBA_RBTX4938_IOC_NAME "RBTX4938-IOC" +static struct irq_chip toshiba_rbtx4938_irq_ioc_type = { +	.name = TOSHIBA_RBTX4938_IOC_NAME, +	.irq_mask = toshiba_rbtx4938_irq_ioc_disable, +	.irq_unmask = toshiba_rbtx4938_irq_ioc_enable, +}; +  static int rbtx4938_irq_dispatch(int pending)  {  	int irq; @@ -146,6 +126,18 @@ static int rbtx4938_irq_dispatch(int pending)  	return irq;  } +static void __init toshiba_rbtx4938_irq_ioc_init(void) +{ +	int i; + +	for (i = RBTX4938_IRQ_IOC; +	     i < RBTX4938_IRQ_IOC + RBTX4938_NR_IRQ_IOC; i++) +		irq_set_chip_and_handler(i, &toshiba_rbtx4938_irq_ioc_type, +					 handle_level_irq); + +	irq_set_chained_handler(RBTX4938_IRQ_IOCINT, handle_simple_irq); +} +  void __init rbtx4938_irq_setup(void)  {  	txx9_irq_dispatch = rbtx4938_irq_dispatch; @@ -161,5 +153,5 @@ void __init rbtx4938_irq_setup(void)  	tx4938_irq_init();  	toshiba_rbtx4938_irq_ioc_init();  	/* Onboard 10M Ether: High Active */ -	set_irq_type(RBTX4938_IRQ_ETHER, IRQF_TRIGGER_HIGH); +	irq_set_irq_type(RBTX4938_IRQ_ETHER, IRQF_TRIGGER_HIGH);  } diff --git a/arch/mips/txx9/rbtx4938/setup.c b/arch/mips/txx9/rbtx4938/setup.c index d6e70dab3bd..c9afd05020e 100644 --- a/arch/mips/txx9/rbtx4938/setup.c +++ b/arch/mips/txx9/rbtx4938/setup.c @@ -107,10 +107,10 @@ static void __init rbtx4938_pci_setup(void)  /* SPI support */  /* chip select for SPI devices */ -#define	SEEPROM1_CS	7	/* PIO7 */ -#define	SEEPROM2_CS	0	/* IOC */ -#define	SEEPROM3_CS	1	/* IOC */ -#define	SRTC_CS	2	/* IOC */ +#define SEEPROM1_CS	7	/* PIO7 */ +#define SEEPROM2_CS	0	/* IOC */ +#define SEEPROM3_CS	1	/* IOC */ +#define SRTC_CS 2	/* IOC */  #define SPI_BUSNO	0  static int __init rbtx4938_ethaddr_init(void) diff --git a/arch/mips/txx9/rbtx4939/irq.c b/arch/mips/txx9/rbtx4939/irq.c index 57fa740a720..69a80616f0c 100644 --- a/arch/mips/txx9/rbtx4939/irq.c +++ b/arch/mips/txx9/rbtx4939/irq.c @@ -19,16 +19,16 @@   * RBTX4939 IOC controller definition   */ -static void rbtx4939_ioc_irq_unmask(unsigned int irq) +static void rbtx4939_ioc_irq_unmask(struct irq_data *d)  { -	int ioc_nr = irq - RBTX4939_IRQ_IOC; +	int ioc_nr = d->irq - RBTX4939_IRQ_IOC;  	writeb(readb(rbtx4939_ien_addr) | (1 << ioc_nr), rbtx4939_ien_addr);  } -static void rbtx4939_ioc_irq_mask(unsigned int irq) +static void rbtx4939_ioc_irq_mask(struct irq_data *d)  { -	int ioc_nr = irq - RBTX4939_IRQ_IOC; +	int ioc_nr = d->irq - RBTX4939_IRQ_IOC;  	writeb(readb(rbtx4939_ien_addr) & ~(1 << ioc_nr), rbtx4939_ien_addr);  	mmiowb(); @@ -36,10 +36,8 @@ static void rbtx4939_ioc_irq_mask(unsigned int irq)  static struct irq_chip rbtx4939_ioc_irq_chip = {  	.name		= "IOC", -	.ack		= rbtx4939_ioc_irq_mask, -	.mask		= rbtx4939_ioc_irq_mask, -	.mask_ack	= rbtx4939_ioc_irq_mask, -	.unmask		= rbtx4939_ioc_irq_unmask, +	.irq_mask	= rbtx4939_ioc_irq_mask, +	.irq_unmask	= rbtx4939_ioc_irq_unmask,  }; @@ -90,8 +88,8 @@ void __init rbtx4939_irq_setup(void)  	tx4939_irq_init();  	for (i = RBTX4939_IRQ_IOC;  	     i < RBTX4939_IRQ_IOC + RBTX4939_NR_IRQ_IOC; i++) -		set_irq_chip_and_handler(i, &rbtx4939_ioc_irq_chip, +		irq_set_chip_and_handler(i, &rbtx4939_ioc_irq_chip,  					 handle_level_irq); -	set_irq_chained_handler(RBTX4939_IRQ_IOCINT, handle_simple_irq); +	irq_set_chained_handler(RBTX4939_IRQ_IOCINT, handle_simple_irq);  } diff --git a/arch/mips/txx9/rbtx4939/setup.c b/arch/mips/txx9/rbtx4939/setup.c index 7dc0fafbec8..2da5f25f98b 100644 --- a/arch/mips/txx9/rbtx4939/setup.c +++ b/arch/mips/txx9/rbtx4939/setup.c @@ -13,6 +13,7 @@  #include <linux/kernel.h>  #include <linux/types.h>  #include <linux/slab.h> +#include <linux/export.h>  #include <linux/platform_device.h>  #include <linux/leds.h>  #include <linux/interrupt.h> @@ -39,8 +40,7 @@ static void __init rbtx4939_time_init(void)  	tx4939_time_init(0);  } -#if defined(__BIG_ENDIAN) && \ -	(defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE)) +#if defined(__BIG_ENDIAN) && IS_ENABLED(CONFIG_SMC91X)  #define HAVE_RBTX4939_IOSWAB  #define IS_CE1_ADDR(addr) \  	((((unsigned long)(addr) - IO_BASE) & 0xfff00000) == TXX9_CE(1)) @@ -186,7 +186,7 @@ static void __init rbtx4939_update_ioc_pen(void)  #define RBTX4939_MAX_7SEGLEDS	8 -#if defined(CONFIG_LEDS_CLASS) || defined(CONFIG_LEDS_CLASS_MODULE) +#if IS_ENABLED(CONFIG_LEDS_CLASS)  static u8 led_val[RBTX4939_MAX_7SEGLEDS];  struct rbtx4939_led_data {  	struct led_classdev cdev; @@ -243,7 +243,7 @@ static int __init rbtx4939_led_probe(struct platform_device *pdev)  }  static struct platform_driver rbtx4939_led_driver = { -	.driver  = { +	.driver	 = {  		.name = "rbtx4939-led",  		.owner = THIS_MODULE,  	}, @@ -262,7 +262,7 @@ static inline void rbtx4939_led_setup(void)  static void __rbtx4939_7segled_putc(unsigned int pos, unsigned char val)  { -#if defined(CONFIG_LEDS_CLASS) || defined(CONFIG_LEDS_CLASS_MODULE) +#if IS_ENABLED(CONFIG_LEDS_CLASS)  	unsigned long flags;  	local_irq_save(flags);  	/* bit7: reserved for LED class */ @@ -286,7 +286,7 @@ static void rbtx4939_7segled_putc(unsigned int pos, unsigned char val)  	__rbtx4939_7segled_putc(pos, val);  } -#if defined(CONFIG_MTD_RBTX4939) || defined(CONFIG_MTD_RBTX4939_MODULE) +#if IS_ENABLED(CONFIG_MTD_RBTX4939)  /* special mapping for boot rom */  static unsigned long rbtx4939_flash_fixup_ofs(unsigned long ofs)  { @@ -337,7 +337,7 @@ static void rbtx4939_flash_copy_from(struct map_info *map, void *to,  		shift = bdipsw & 3;  		while (len) {  			curlen = min_t(unsigned long, len, -				     0x400000 -	(from & (0x400000 - 1))); +				     0x400000 - (from & (0x400000 - 1)));  			memcpy(to,  			       (void *)((from & ~0xc00000) |  					((((from >> 22) + shift) & 3) << 22)), @@ -462,7 +462,7 @@ static void __init rbtx4939_device_init(void)  		.flags = SMC91X_USE_16BIT,  	};  	struct platform_device *pdev; -#if defined(CONFIG_TC35815) || defined(CONFIG_TC35815_MODULE) +#if IS_ENABLED(CONFIG_TC35815)  	int i, j;  	unsigned char ethaddr[2][6];  	u8 bdipsw = readb(rbtx4939_bdipsw_addr) & 0x0f;  | 
