aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.1/0199-scripts-mkknlimg-Improve-ARCH_BCM2835-detection.patch
blob: ccd115fc646fdb7f6f5e44702e52d75fe1dc08c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
From f578216ec77548da230336549ed488dbdf4a42f3 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 8 Oct 2015 13:33:28 +0100
Subject: [PATCH 199/203] scripts/mkknlimg: Improve ARCH_BCM2835 detection

The board support code contains sufficient strings to be able to
distinguish 2708 vs. 2835 builds, so remove the check for
bcm2835-pm-wdt which could exist in either.

Also, since the canned configuration is no longer built in (it's
a module), remove the config string checking.

See: https://github.com/raspberrypi/linux/issues/1157
---
 scripts/mkknlimg | 41 +++++------------------------------------
 1 file changed, 5 insertions(+), 36 deletions(-)

--- a/scripts/mkknlimg
+++ b/scripts/mkknlimg
@@ -50,12 +50,6 @@ if (! -r $kernel_file)
     usage();
 }
 
-my @wanted_config_lines =
-(
-	'CONFIG_BCM2708_DT',
-	'CONFIG_ARCH_BCM2835'
-);
-
 my @wanted_strings =
 (
 	'bcm2708_fb',
@@ -63,7 +57,8 @@ my @wanted_strings =
 	'brcm,bcm2835-sdhost',
 	'brcm,bcm2708-pinctrl',
 	'brcm,bcm2835-gpio',
-	'brcm,bcm2835-pm-wdt'
+	'brcm,bcm2835',
+	'brcm,bcm2836'
 );
 
 my $res = try_extract($kernel_file, $tmpfile1);
@@ -98,12 +93,11 @@ if ($res)
 	    config_bool($res, 'brcm,bcm2835-mmc') ||
 	    config_bool($res, 'brcm,bcm2835-sdhost'))
 	{
-	    $dtok ||= config_bool($res, 'CONFIG_BCM2708_DT');
-	    $dtok ||= config_bool($res, 'CONFIG_ARCH_BCM2835');
 	    $dtok ||= config_bool($res, 'brcm,bcm2708-pinctrl');
 	    $dtok ||= config_bool($res, 'brcm,bcm2835-gpio');
-	    $is_283x ||= config_bool($res, 'CONFIG_ARCH_BCM2835');
-	    $is_283x ||= config_bool($res, 'brcm,bcm2835-pm-wdt');
+	    $is_283x ||= config_bool($res, 'brcm,bcm2835');
+	    $is_283x ||= config_bool($res, 'brcm,bcm2836');
+	    $dtok ||= $is_283x;
 	    $append_trailer = 1;
 	}
 	else
@@ -205,31 +199,6 @@ sub try_extract
 	    $res->{$match} = 1;
 	}
 
-	my $config_pattern = '^('.join('|', @wanted_config_lines).')=(.*)$';
-	my $cf1 = 'IKCFG_ST\037\213\010';
-	my $cf2 = '0123456789';
-
-	my $pos = `tr "$cf1\n$cf2" "\n$cf2=" < "$knl" | grep -abo "^$cf2"`;
-	if ($pos)
-	{
-		$pos =~ s/:.*[\r\n]*$//s;
-		$pos += 8;
-		my $err = (system("tail -c+$pos \"$knl\" | zcat > $tmp 2> /dev/null") >> 8);
-		if (($err == 0) || ($err == 2))
-		{
-			if (open(my $fh, '<', $tmp))
-			{
-				while (my $line = <$fh>)
-				{
-					chomp($line);
-					$res->{$1} = $2 if ($line =~ /$config_pattern/);
-				}
-
-				close($fh);
-			}
-		}
-	}
-
 	return $res;
 }