Right now all brcm2708 patches are extracted from the non-mainline raspberrypi/linux git tree. Many of them are hacks and/or are unneeded in LEDE. Raspberry Pi is getting better and better mainline support so it would be nice to finally start maintaining patches in a cleaner way: 1) Backport patches accepted in upstream tree 2) Start using upstream drivers 3) Pick only these patches that are needed for more complete support Handling above tasks requires grouping patches - ideally using the same prefixes as generic ones. It means we should rename existing patches to use some high prefix. This will allow e.g. use 0xx for backported code. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Acked-by: Stijn Tintel <stijn@linux-ipv6.be>
		
			
				
	
	
		
			89 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 21f7f9d8146dd9e5a860198781febf78aafee3d1 Mon Sep 17 00:00:00 2001
 | 
						|
From: Phil Elwell <phil@raspberrypi.org>
 | 
						|
Date: Tue, 8 Nov 2016 21:35:38 +0000
 | 
						|
Subject: [PATCH] spi-bcm2835: Remove unused code
 | 
						|
 | 
						|
---
 | 
						|
 drivers/spi/spi-bcm2835.c | 61 -----------------------------------------------
 | 
						|
 1 file changed, 61 deletions(-)
 | 
						|
 | 
						|
--- a/drivers/spi/spi-bcm2835.c
 | 
						|
+++ b/drivers/spi/spi-bcm2835.c
 | 
						|
@@ -679,17 +679,8 @@ static void bcm2835_spi_set_cs(struct sp
 | 
						|
 	bcm2835_wr(bs, BCM2835_SPI_CS, cs);
 | 
						|
 }
 | 
						|
 
 | 
						|
-static int chip_match_name(struct gpio_chip *chip, void *data)
 | 
						|
-{
 | 
						|
-	return !strcmp(chip->label, data);
 | 
						|
-}
 | 
						|
-
 | 
						|
 static int bcm2835_spi_setup(struct spi_device *spi)
 | 
						|
 {
 | 
						|
-	int err;
 | 
						|
-	struct gpio_chip *chip;
 | 
						|
-	struct device_node *pins;
 | 
						|
-	u32 pingroup_index;
 | 
						|
 	/*
 | 
						|
 	 * sanity checking the native-chipselects
 | 
						|
 	 */
 | 
						|
@@ -707,58 +698,6 @@ static int bcm2835_spi_setup(struct spi_
 | 
						|
 		return -EINVAL;
 | 
						|
 	}
 | 
						|
 
 | 
						|
-#if 0
 | 
						|
-	/* now translate native cs to GPIO */
 | 
						|
-	/* first look for chip select pins in the devices pin groups */
 | 
						|
-	for (pingroup_index = 0;
 | 
						|
-	     (pins = of_parse_phandle(spi->master->dev.of_node,
 | 
						|
-				     "pinctrl-0",
 | 
						|
-				      pingroup_index)) != 0;
 | 
						|
-	     pingroup_index++) {
 | 
						|
-		u32 pin;
 | 
						|
-		u32 pin_index;
 | 
						|
-		for (pin_index = 0;
 | 
						|
-		     of_property_read_u32_index(pins,
 | 
						|
-						"brcm,pins",
 | 
						|
-						pin_index,
 | 
						|
-						&pin) == 0;
 | 
						|
-		     pin_index++) {
 | 
						|
-			if (((spi->chip_select == 0) &&
 | 
						|
-			     ((pin == 8) || (pin == 36) || (pin == 46))) ||
 | 
						|
-			    ((spi->chip_select == 1) &&
 | 
						|
-			     ((pin == 7) || (pin == 35)))) {
 | 
						|
-				spi->cs_gpio = pin;
 | 
						|
-				break;
 | 
						|
-			}
 | 
						|
-		}
 | 
						|
-		of_node_put(pins);
 | 
						|
-	}
 | 
						|
-	/* if that fails, assume GPIOs 7-11 are used */
 | 
						|
-	if (!gpio_is_valid(spi->cs_gpio) ) {
 | 
						|
-		/* get the gpio chip for the base */
 | 
						|
-		chip = gpiochip_find("pinctrl-bcm2835", chip_match_name);
 | 
						|
-		if (!chip)
 | 
						|
-			return 0;
 | 
						|
-
 | 
						|
-		/* and calculate the real CS */
 | 
						|
-		spi->cs_gpio = chip->base + 8 - spi->chip_select;
 | 
						|
-	}
 | 
						|
-
 | 
						|
-	/* and set up the "mode" and level */
 | 
						|
-	dev_info(&spi->dev, "setting up native-CS%i as GPIO %i\n",
 | 
						|
-		 spi->chip_select, spi->cs_gpio);
 | 
						|
-
 | 
						|
-	/* set up GPIO as output and pull to the correct level */
 | 
						|
-	err = gpio_direction_output(spi->cs_gpio,
 | 
						|
-				    (spi->mode & SPI_CS_HIGH) ? 0 : 1);
 | 
						|
-	if (err) {
 | 
						|
-		dev_err(&spi->dev,
 | 
						|
-			"could not set CS%i gpio %i as output: %i",
 | 
						|
-			spi->chip_select, spi->cs_gpio, err);
 | 
						|
-		return err;
 | 
						|
-	}
 | 
						|
-#endif
 | 
						|
-
 | 
						|
 	return 0;
 | 
						|
 }
 | 
						|
 
 |