Merge branch 'akpm' (Andrew's patch-bomb)
* emailed from Andrew Morton <akpm@linux-foundation.org>: (21 patches)
  mm/memblock: fix overlapping allocation when doubling reserved array
  c/r: prctl: Move PR_GET_TID_ADDRESS to a proper place
  pidns: find_new_reaper() can no longer switch to init_pid_ns.child_reaper
  pidns: guarantee that the pidns init will be the last pidns process reaped
  fault-inject: avoid call to random32() if fault injection is disabled
  Viresh has moved
  get_maintainer: Fix --help warning
  mm/memory.c: fix kernel-doc warnings
  mm: fix kernel-doc warnings
  mm: correctly synchronize rss-counters at exit/exec
  mm, thp: print useful information when mmap_sem is unlocked in zap_pmd_range
  h8300: use the declarations provided by <asm/sections.h>
  h8300: fix use of extinct _sbss and _ebss
  xtensa: use the declarations provided by <asm/sections.h>
  xtensa: use "test -e" instead of bashism "test -a"
  xtensa: replace xtensa-specific _f{data,text} by _s{data,text}
  memcg: fix use_hierarchy css_is_ancestor oops regression
  mm, oom: fix and cleanup oom score calculations
  nilfs2: ensure proper cache clearing for gc-inodes
  thp: avoid atomic64_read in pmd_read_atomic for 32bit PAE
  ...
	
	
This commit is contained in:
		
				commit
				
					
						a2a2609c97
					
				
			
		
					 99 changed files with 266 additions and 181 deletions
				
			
		
							
								
								
									
										1
									
								
								.mailmap
									
										
									
									
									
								
							
							
						
						
									
										1
									
								
								.mailmap
									
										
									
									
									
								
							| 
						 | 
					@ -111,6 +111,7 @@ Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
 | 
				
			||||||
Uwe Kleine-König <ukl@pengutronix.de>
 | 
					Uwe Kleine-König <ukl@pengutronix.de>
 | 
				
			||||||
Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
 | 
					Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
 | 
				
			||||||
Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
 | 
					Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
 | 
				
			||||||
 | 
					Viresh Kumar <viresh.linux@gmail.com> <viresh.kumar@st.com>
 | 
				
			||||||
Takashi YOSHII <takashi.yoshii.zj@renesas.com>
 | 
					Takashi YOSHII <takashi.yoshii.zj@renesas.com>
 | 
				
			||||||
Yusuke Goda <goda.yusuke@renesas.com>
 | 
					Yusuke Goda <goda.yusuke@renesas.com>
 | 
				
			||||||
Gustavo Padovan <gustavo@las.ic.unicamp.br>
 | 
					Gustavo Padovan <gustavo@las.ic.unicamp.br>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -60,4 +60,4 @@ Introduction
 | 
				
			||||||
  Document Author
 | 
					  Document Author
 | 
				
			||||||
  ---------------
 | 
					  ---------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  Viresh Kumar <viresh.kumar@st.com>, (c) 2010-2012 ST Microelectronics
 | 
					  Viresh Kumar <viresh.linux@gmail.com>, (c) 2010-2012 ST Microelectronics
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										18
									
								
								MAINTAINERS
									
										
									
									
									
								
							
							
						
						
									
										18
									
								
								MAINTAINERS
									
										
									
									
									
								
							| 
						 | 
					@ -579,7 +579,7 @@ F:	drivers/net/appletalk/
 | 
				
			||||||
F:	net/appletalk/
 | 
					F:	net/appletalk/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ARASAN COMPACT FLASH PATA CONTROLLER
 | 
					ARASAN COMPACT FLASH PATA CONTROLLER
 | 
				
			||||||
M:	Viresh Kumar <viresh.kumar@st.com>
 | 
					M:     Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
L:	linux-ide@vger.kernel.org
 | 
					L:	linux-ide@vger.kernel.org
 | 
				
			||||||
S:	Maintained
 | 
					S:	Maintained
 | 
				
			||||||
F:	include/linux/pata_arasan_cf_data.h
 | 
					F:	include/linux/pata_arasan_cf_data.h
 | 
				
			||||||
| 
						 | 
					@ -5296,7 +5296,7 @@ S:	Maintained
 | 
				
			||||||
F:	drivers/pinctrl/
 | 
					F:	drivers/pinctrl/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PIN CONTROLLER - ST SPEAR
 | 
					PIN CONTROLLER - ST SPEAR
 | 
				
			||||||
M:	Viresh Kumar <viresh.kumar@st.com>
 | 
					M:     Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
L:	spear-devel@list.st.com
 | 
					L:	spear-devel@list.st.com
 | 
				
			||||||
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 | 
					L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 | 
				
			||||||
W:	http://www.st.com/spear
 | 
					W:	http://www.st.com/spear
 | 
				
			||||||
| 
						 | 
					@ -5873,7 +5873,7 @@ S:	Maintained
 | 
				
			||||||
F:	drivers/tty/serial
 | 
					F:	drivers/tty/serial
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SYNOPSYS DESIGNWARE DMAC DRIVER
 | 
					SYNOPSYS DESIGNWARE DMAC DRIVER
 | 
				
			||||||
M:	Viresh Kumar <viresh.kumar@st.com>
 | 
					M:     Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
S:	Maintained
 | 
					S:	Maintained
 | 
				
			||||||
F:	include/linux/dw_dmac.h
 | 
					F:	include/linux/dw_dmac.h
 | 
				
			||||||
F:	drivers/dma/dw_dmac_regs.h
 | 
					F:	drivers/dma/dw_dmac_regs.h
 | 
				
			||||||
| 
						 | 
					@ -6021,7 +6021,7 @@ S:	Maintained
 | 
				
			||||||
F:	drivers/mmc/host/sdhci-s3c.c
 | 
					F:	drivers/mmc/host/sdhci-s3c.c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) ST SPEAR DRIVER
 | 
					SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) ST SPEAR DRIVER
 | 
				
			||||||
M:	Viresh Kumar <viresh.kumar@st.com>
 | 
					M:     Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
L:	spear-devel@list.st.com
 | 
					L:	spear-devel@list.st.com
 | 
				
			||||||
L:	linux-mmc@vger.kernel.org
 | 
					L:	linux-mmc@vger.kernel.org
 | 
				
			||||||
S:	Maintained
 | 
					S:	Maintained
 | 
				
			||||||
| 
						 | 
					@ -6377,7 +6377,7 @@ S:	Maintained
 | 
				
			||||||
F:	include/linux/compiler.h
 | 
					F:	include/linux/compiler.h
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SPEAR PLATFORM SUPPORT
 | 
					SPEAR PLATFORM SUPPORT
 | 
				
			||||||
M:	Viresh Kumar <viresh.kumar@st.com>
 | 
					M:     Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
M:	Shiraz Hashim <shiraz.hashim@st.com>
 | 
					M:	Shiraz Hashim <shiraz.hashim@st.com>
 | 
				
			||||||
L:	spear-devel@list.st.com
 | 
					L:	spear-devel@list.st.com
 | 
				
			||||||
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 | 
					L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 | 
				
			||||||
| 
						 | 
					@ -6386,7 +6386,7 @@ S:	Maintained
 | 
				
			||||||
F:	arch/arm/plat-spear/
 | 
					F:	arch/arm/plat-spear/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SPEAR13XX MACHINE SUPPORT
 | 
					SPEAR13XX MACHINE SUPPORT
 | 
				
			||||||
M:	Viresh Kumar <viresh.kumar@st.com>
 | 
					M:     Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
M:	Shiraz Hashim <shiraz.hashim@st.com>
 | 
					M:	Shiraz Hashim <shiraz.hashim@st.com>
 | 
				
			||||||
L:	spear-devel@list.st.com
 | 
					L:	spear-devel@list.st.com
 | 
				
			||||||
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 | 
					L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 | 
				
			||||||
| 
						 | 
					@ -6395,7 +6395,7 @@ S:	Maintained
 | 
				
			||||||
F:	arch/arm/mach-spear13xx/
 | 
					F:	arch/arm/mach-spear13xx/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SPEAR3XX MACHINE SUPPORT
 | 
					SPEAR3XX MACHINE SUPPORT
 | 
				
			||||||
M:	Viresh Kumar <viresh.kumar@st.com>
 | 
					M:     Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
M:	Shiraz Hashim <shiraz.hashim@st.com>
 | 
					M:	Shiraz Hashim <shiraz.hashim@st.com>
 | 
				
			||||||
L:	spear-devel@list.st.com
 | 
					L:	spear-devel@list.st.com
 | 
				
			||||||
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 | 
					L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 | 
				
			||||||
| 
						 | 
					@ -6406,7 +6406,7 @@ F:	arch/arm/mach-spear3xx/
 | 
				
			||||||
SPEAR6XX MACHINE SUPPORT
 | 
					SPEAR6XX MACHINE SUPPORT
 | 
				
			||||||
M:	Rajeev Kumar <rajeev-dlh.kumar@st.com>
 | 
					M:	Rajeev Kumar <rajeev-dlh.kumar@st.com>
 | 
				
			||||||
M:	Shiraz Hashim <shiraz.hashim@st.com>
 | 
					M:	Shiraz Hashim <shiraz.hashim@st.com>
 | 
				
			||||||
M:	Viresh Kumar <viresh.kumar@st.com>
 | 
					M:     Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
L:	spear-devel@list.st.com
 | 
					L:	spear-devel@list.st.com
 | 
				
			||||||
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 | 
					L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 | 
				
			||||||
W:	http://www.st.com/spear
 | 
					W:	http://www.st.com/spear
 | 
				
			||||||
| 
						 | 
					@ -6414,7 +6414,7 @@ S:	Maintained
 | 
				
			||||||
F:	arch/arm/mach-spear6xx/
 | 
					F:	arch/arm/mach-spear6xx/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SPEAR CLOCK FRAMEWORK SUPPORT
 | 
					SPEAR CLOCK FRAMEWORK SUPPORT
 | 
				
			||||||
M:	Viresh Kumar <viresh.kumar@st.com>
 | 
					M:     Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
L:	spear-devel@list.st.com
 | 
					L:	spear-devel@list.st.com
 | 
				
			||||||
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 | 
					L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 | 
				
			||||||
W:	http://www.st.com/spear
 | 
					W:	http://www.st.com/spear
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * DTS file for SPEAr1310 Evaluation Baord
 | 
					 * DTS file for SPEAr1310 Evaluation Baord
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright 2012 Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * The code contained herein is licensed under the GNU General Public
 | 
					 * The code contained herein is licensed under the GNU General Public
 | 
				
			||||||
 * License. You may obtain a copy of the GNU General Public License
 | 
					 * License. You may obtain a copy of the GNU General Public License
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * DTS file for all SPEAr1310 SoCs
 | 
					 * DTS file for all SPEAr1310 SoCs
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright 2012 Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * The code contained herein is licensed under the GNU General Public
 | 
					 * The code contained herein is licensed under the GNU General Public
 | 
				
			||||||
 * License. You may obtain a copy of the GNU General Public License
 | 
					 * License. You may obtain a copy of the GNU General Public License
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * DTS file for SPEAr1340 Evaluation Baord
 | 
					 * DTS file for SPEAr1340 Evaluation Baord
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright 2012 Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * The code contained herein is licensed under the GNU General Public
 | 
					 * The code contained herein is licensed under the GNU General Public
 | 
				
			||||||
 * License. You may obtain a copy of the GNU General Public License
 | 
					 * License. You may obtain a copy of the GNU General Public License
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * DTS file for all SPEAr1340 SoCs
 | 
					 * DTS file for all SPEAr1340 SoCs
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright 2012 Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * The code contained herein is licensed under the GNU General Public
 | 
					 * The code contained herein is licensed under the GNU General Public
 | 
				
			||||||
 * License. You may obtain a copy of the GNU General Public License
 | 
					 * License. You may obtain a copy of the GNU General Public License
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * DTS file for all SPEAr13xx SoCs
 | 
					 * DTS file for all SPEAr13xx SoCs
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright 2012 Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * The code contained herein is licensed under the GNU General Public
 | 
					 * The code contained herein is licensed under the GNU General Public
 | 
				
			||||||
 * License. You may obtain a copy of the GNU General Public License
 | 
					 * License. You may obtain a copy of the GNU General Public License
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * DTS file for SPEAr300 Evaluation Baord
 | 
					 * DTS file for SPEAr300 Evaluation Baord
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright 2012 Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * The code contained herein is licensed under the GNU General Public
 | 
					 * The code contained herein is licensed under the GNU General Public
 | 
				
			||||||
 * License. You may obtain a copy of the GNU General Public License
 | 
					 * License. You may obtain a copy of the GNU General Public License
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * DTS file for SPEAr300 SoC
 | 
					 * DTS file for SPEAr300 SoC
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright 2012 Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * The code contained herein is licensed under the GNU General Public
 | 
					 * The code contained herein is licensed under the GNU General Public
 | 
				
			||||||
 * License. You may obtain a copy of the GNU General Public License
 | 
					 * License. You may obtain a copy of the GNU General Public License
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * DTS file for SPEAr310 Evaluation Baord
 | 
					 * DTS file for SPEAr310 Evaluation Baord
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright 2012 Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * The code contained herein is licensed under the GNU General Public
 | 
					 * The code contained herein is licensed under the GNU General Public
 | 
				
			||||||
 * License. You may obtain a copy of the GNU General Public License
 | 
					 * License. You may obtain a copy of the GNU General Public License
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * DTS file for SPEAr310 SoC
 | 
					 * DTS file for SPEAr310 SoC
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright 2012 Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * The code contained herein is licensed under the GNU General Public
 | 
					 * The code contained herein is licensed under the GNU General Public
 | 
				
			||||||
 * License. You may obtain a copy of the GNU General Public License
 | 
					 * License. You may obtain a copy of the GNU General Public License
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * DTS file for SPEAr320 Evaluation Baord
 | 
					 * DTS file for SPEAr320 Evaluation Baord
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright 2012 Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * The code contained herein is licensed under the GNU General Public
 | 
					 * The code contained herein is licensed under the GNU General Public
 | 
				
			||||||
 * License. You may obtain a copy of the GNU General Public License
 | 
					 * License. You may obtain a copy of the GNU General Public License
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * DTS file for SPEAr320 SoC
 | 
					 * DTS file for SPEAr320 SoC
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright 2012 Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * The code contained herein is licensed under the GNU General Public
 | 
					 * The code contained herein is licensed under the GNU General Public
 | 
				
			||||||
 * License. You may obtain a copy of the GNU General Public License
 | 
					 * License. You may obtain a copy of the GNU General Public License
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * DTS file for all SPEAr3xx SoCs
 | 
					 * DTS file for all SPEAr3xx SoCs
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright 2012 Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * The code contained herein is licensed under the GNU General Public
 | 
					 * The code contained herein is licensed under the GNU General Public
 | 
				
			||||||
 * License. You may obtain a copy of the GNU General Public License
 | 
					 * License. You may obtain a copy of the GNU General Public License
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * ARM PrimeXsys System Controller SP810 header file
 | 
					 * ARM PrimeXsys System Controller SP810 header file
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2009 ST Microelectronics
 | 
					 * Copyright (C) 2009 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar<viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * Debugging macro include header spear13xx machine family
 | 
					 * Debugging macro include header spear13xx machine family
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * DMA information for SPEAr13xx machine family
 | 
					 * DMA information for SPEAr13xx machine family
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * spear13xx machine family generic header file
 | 
					 * spear13xx machine family generic header file
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * GPIO macros for SPEAr13xx machine family
 | 
					 * GPIO macros for SPEAr13xx machine family
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * IRQ helper macros for spear13xx machine family
 | 
					 * IRQ helper macros for spear13xx machine family
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * spear13xx Machine family specific definition
 | 
					 * spear13xx Machine family specific definition
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * SPEAr3XX machine family specific timex definitions
 | 
					 * SPEAr3XX machine family specific timex definitions
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * Serial port stubs for kernel decompress status messages
 | 
					 * Serial port stubs for kernel decompress status messages
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * SPEAr1310 machine source file
 | 
					 * SPEAr1310 machine source file
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * SPEAr1340 machine source file
 | 
					 * SPEAr1340 machine source file
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * SPEAr13XX machines common source file
 | 
					 * SPEAr13XX machines common source file
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * Debugging macro include header spear3xx machine family
 | 
					 * Debugging macro include header spear3xx machine family
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2009 ST Microelectronics
 | 
					 * Copyright (C) 2009 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar<viresh.kumar@st.com>
 | 
					 * Viresh Kumar<viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * SPEAr3XX machine family generic header file
 | 
					 * SPEAr3XX machine family generic header file
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2009 ST Microelectronics
 | 
					 * Copyright (C) 2009 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar<viresh.kumar@st.com>
 | 
					 * Viresh Kumar<viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * GPIO macros for SPEAr3xx machine family
 | 
					 * GPIO macros for SPEAr3xx machine family
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2009 ST Microelectronics
 | 
					 * Copyright (C) 2009 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar<viresh.kumar@st.com>
 | 
					 * Viresh Kumar<viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * IRQ helper macros for SPEAr3xx machine family
 | 
					 * IRQ helper macros for SPEAr3xx machine family
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2009 ST Microelectronics
 | 
					 * Copyright (C) 2009 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar<viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * Miscellaneous registers definitions for SPEAr3xx machine family
 | 
					 * Miscellaneous registers definitions for SPEAr3xx machine family
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2009 ST Microelectronics
 | 
					 * Copyright (C) 2009 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar<viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * SPEAr3xx Machine family specific definition
 | 
					 * SPEAr3xx Machine family specific definition
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2009 ST Microelectronics
 | 
					 * Copyright (C) 2009 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar<viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * SPEAr3XX machine family specific timex definitions
 | 
					 * SPEAr3XX machine family specific timex definitions
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2009 ST Microelectronics
 | 
					 * Copyright (C) 2009 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar<viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * Serial port stubs for kernel decompress status messages
 | 
					 * Serial port stubs for kernel decompress status messages
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2009 ST Microelectronics
 | 
					 * Copyright (C) 2009 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar<viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * SPEAr300 machine source file
 | 
					 * SPEAr300 machine source file
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2009-2012 ST Microelectronics
 | 
					 * Copyright (C) 2009-2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * SPEAr310 machine source file
 | 
					 * SPEAr310 machine source file
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2009-2012 ST Microelectronics
 | 
					 * Copyright (C) 2009-2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * SPEAr320 machine source file
 | 
					 * SPEAr320 machine source file
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2009-2012 ST Microelectronics
 | 
					 * Copyright (C) 2009-2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * SPEAr3XX machines common source file
 | 
					 * SPEAr3XX machines common source file
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2009-2012 ST Microelectronics
 | 
					 * Copyright (C) 2009-2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * GPIO macros for SPEAr6xx machine family
 | 
					 * GPIO macros for SPEAr6xx machine family
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2009 ST Microelectronics
 | 
					 * Copyright (C) 2009 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar<viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * Miscellaneous registers definitions for SPEAr6xx machine family
 | 
					 * Miscellaneous registers definitions for SPEAr6xx machine family
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2009 ST Microelectronics
 | 
					 * Copyright (C) 2009 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar<viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * Debugging macro include header for spear platform
 | 
					 * Debugging macro include header for spear platform
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2009 ST Microelectronics
 | 
					 * Copyright (C) 2009 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar<viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * DMAC pl080 definitions for SPEAr platform
 | 
					 * DMAC pl080 definitions for SPEAr platform
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * SPEAr platform shared irq layer header file
 | 
					 * SPEAr platform shared irq layer header file
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2009 ST Microelectronics
 | 
					 * Copyright (C) 2009 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar<viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * SPEAr platform specific timex definitions
 | 
					 * SPEAr platform specific timex definitions
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2009 ST Microelectronics
 | 
					 * Copyright (C) 2009 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar<viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * Serial port stubs for kernel decompress status messages
 | 
					 * Serial port stubs for kernel decompress status messages
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2009 ST Microelectronics
 | 
					 * Copyright (C) 2009 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar<viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * DMAC pl080 definitions for SPEAr platform
 | 
					 * DMAC pl080 definitions for SPEAr platform
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * SPEAr platform specific restart functions
 | 
					 * SPEAr platform specific restart functions
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2009 ST Microelectronics
 | 
					 * Copyright (C) 2009 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar<viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * SPEAr platform shared irq layer source file
 | 
					 * SPEAr platform shared irq layer source file
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2009 ST Microelectronics
 | 
					 * Copyright (C) 2009 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar<viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -35,6 +35,7 @@
 | 
				
			||||||
#include <asm/setup.h>
 | 
					#include <asm/setup.h>
 | 
				
			||||||
#include <asm/irq.h>
 | 
					#include <asm/irq.h>
 | 
				
			||||||
#include <asm/pgtable.h>
 | 
					#include <asm/pgtable.h>
 | 
				
			||||||
 | 
					#include <asm/sections.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if defined(__H8300H__)
 | 
					#if defined(__H8300H__)
 | 
				
			||||||
#define CPU "H8/300H"
 | 
					#define CPU "H8/300H"
 | 
				
			||||||
| 
						 | 
					@ -54,7 +55,6 @@ unsigned long memory_end;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
char __initdata command_line[COMMAND_LINE_SIZE];
 | 
					char __initdata command_line[COMMAND_LINE_SIZE];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern int _stext, _etext, _sdata, _edata, _sbss, _ebss, _end;
 | 
					 | 
				
			||||||
extern int _ramstart, _ramend;
 | 
					extern int _ramstart, _ramend;
 | 
				
			||||||
extern char _target_name[];
 | 
					extern char _target_name[];
 | 
				
			||||||
extern void h8300_gpio_init(void);
 | 
					extern void h8300_gpio_init(void);
 | 
				
			||||||
| 
						 | 
					@ -119,9 +119,9 @@ void __init setup_arch(char **cmdline_p)
 | 
				
			||||||
	    memory_end = CONFIG_BLKDEV_RESERVE_ADDRESS; 
 | 
						    memory_end = CONFIG_BLKDEV_RESERVE_ADDRESS; 
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	init_mm.start_code = (unsigned long) &_stext;
 | 
						init_mm.start_code = (unsigned long) _stext;
 | 
				
			||||||
	init_mm.end_code = (unsigned long) &_etext;
 | 
						init_mm.end_code = (unsigned long) _etext;
 | 
				
			||||||
	init_mm.end_data = (unsigned long) &_edata;
 | 
						init_mm.end_data = (unsigned long) _edata;
 | 
				
			||||||
	init_mm.brk = (unsigned long) 0; 
 | 
						init_mm.brk = (unsigned long) 0; 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if (defined(CONFIG_H8300H_SIM) || defined(CONFIG_H8S_SIM)) && defined(CONFIG_GDB_MAGICPRINT)
 | 
					#if (defined(CONFIG_H8300H_SIM) || defined(CONFIG_H8S_SIM)) && defined(CONFIG_GDB_MAGICPRINT)
 | 
				
			||||||
| 
						 | 
					@ -134,15 +134,12 @@ void __init setup_arch(char **cmdline_p)
 | 
				
			||||||
	printk(KERN_INFO "H8/300 series support by Yoshinori Sato <ysato@users.sourceforge.jp>\n");
 | 
						printk(KERN_INFO "H8/300 series support by Yoshinori Sato <ysato@users.sourceforge.jp>\n");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef DEBUG
 | 
					#ifdef DEBUG
 | 
				
			||||||
	printk(KERN_DEBUG "KERNEL -> TEXT=0x%06x-0x%06x DATA=0x%06x-0x%06x "
 | 
						printk(KERN_DEBUG "KERNEL -> TEXT=0x%p-0x%p DATA=0x%p-0x%p "
 | 
				
			||||||
		"BSS=0x%06x-0x%06x\n", (int) &_stext, (int) &_etext,
 | 
							"BSS=0x%p-0x%p\n", _stext, _etext, _sdata, _edata, __bss_start,
 | 
				
			||||||
		(int) &_sdata, (int) &_edata,
 | 
							__bss_stop);
 | 
				
			||||||
		(int) &_sbss, (int) &_ebss);
 | 
						printk(KERN_DEBUG "KERNEL -> ROMFS=0x%p-0x%06lx MEM=0x%06lx-0x%06lx "
 | 
				
			||||||
	printk(KERN_DEBUG "KERNEL -> ROMFS=0x%06x-0x%06x MEM=0x%06x-0x%06x "
 | 
							"STACK=0x%06lx-0x%p\n", __bss_stop, memory_start, memory_start,
 | 
				
			||||||
		"STACK=0x%06x-0x%06x\n",
 | 
							memory_end, memory_end, &_ramend);
 | 
				
			||||||
	       (int) &_ebss, (int) memory_start,
 | 
					 | 
				
			||||||
		(int) memory_start, (int) memory_end,
 | 
					 | 
				
			||||||
		(int) memory_end, (int) &_ramend);
 | 
					 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef CONFIG_DEFAULT_CMDLINE
 | 
					#ifdef CONFIG_DEFAULT_CMDLINE
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -36,6 +36,7 @@
 | 
				
			||||||
#include <asm/segment.h>
 | 
					#include <asm/segment.h>
 | 
				
			||||||
#include <asm/page.h>
 | 
					#include <asm/page.h>
 | 
				
			||||||
#include <asm/pgtable.h>
 | 
					#include <asm/pgtable.h>
 | 
				
			||||||
 | 
					#include <asm/sections.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#undef DEBUG
 | 
					#undef DEBUG
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -123,7 +124,6 @@ void __init mem_init(void)
 | 
				
			||||||
	int codek = 0, datak = 0, initk = 0;
 | 
						int codek = 0, datak = 0, initk = 0;
 | 
				
			||||||
	/* DAVIDM look at setup memory map generically with reserved area */
 | 
						/* DAVIDM look at setup memory map generically with reserved area */
 | 
				
			||||||
	unsigned long tmp;
 | 
						unsigned long tmp;
 | 
				
			||||||
	extern char _etext, _stext, _sdata, _ebss, __init_begin, __init_end;
 | 
					 | 
				
			||||||
	extern unsigned long  _ramend, _ramstart;
 | 
						extern unsigned long  _ramend, _ramstart;
 | 
				
			||||||
	unsigned long len = &_ramend - &_ramstart;
 | 
						unsigned long len = &_ramend - &_ramstart;
 | 
				
			||||||
	unsigned long start_mem = memory_start; /* DAVIDM - these must start at end of kernel */
 | 
						unsigned long start_mem = memory_start; /* DAVIDM - these must start at end of kernel */
 | 
				
			||||||
| 
						 | 
					@ -142,9 +142,9 @@ void __init mem_init(void)
 | 
				
			||||||
	/* this will put all memory onto the freelists */
 | 
						/* this will put all memory onto the freelists */
 | 
				
			||||||
	totalram_pages = free_all_bootmem();
 | 
						totalram_pages = free_all_bootmem();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	codek = (&_etext - &_stext) >> 10;
 | 
						codek = (_etext - _stext) >> 10;
 | 
				
			||||||
	datak = (&_ebss - &_sdata) >> 10;
 | 
						datak = (__bss_stop - _sdata) >> 10;
 | 
				
			||||||
	initk = (&__init_begin - &__init_end) >> 10;
 | 
						initk = (__init_begin - __init_end) >> 10;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	tmp = nr_free_pages() << PAGE_SHIFT;
 | 
						tmp = nr_free_pages() << PAGE_SHIFT;
 | 
				
			||||||
	printk(KERN_INFO "Memory available: %luk/%luk RAM, %luk/%luk ROM (%dk kernel code, %dk data)\n",
 | 
						printk(KERN_INFO "Memory available: %luk/%luk RAM, %luk/%luk ROM (%dk kernel code, %dk data)\n",
 | 
				
			||||||
| 
						 | 
					@ -178,22 +178,21 @@ free_initmem(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
#ifdef CONFIG_RAMKERNEL
 | 
					#ifdef CONFIG_RAMKERNEL
 | 
				
			||||||
	unsigned long addr;
 | 
						unsigned long addr;
 | 
				
			||||||
	extern char __init_begin, __init_end;
 | 
					 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 *	the following code should be cool even if these sections
 | 
					 *	the following code should be cool even if these sections
 | 
				
			||||||
 *	are not page aligned.
 | 
					 *	are not page aligned.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
	addr = PAGE_ALIGN((unsigned long)(&__init_begin));
 | 
						addr = PAGE_ALIGN((unsigned long)(__init_begin));
 | 
				
			||||||
	/* next to check that the page we free is not a partial page */
 | 
						/* next to check that the page we free is not a partial page */
 | 
				
			||||||
	for (; addr + PAGE_SIZE < (unsigned long)(&__init_end); addr +=PAGE_SIZE) {
 | 
						for (; addr + PAGE_SIZE < (unsigned long)__init_end; addr +=PAGE_SIZE) {
 | 
				
			||||||
		ClearPageReserved(virt_to_page(addr));
 | 
							ClearPageReserved(virt_to_page(addr));
 | 
				
			||||||
		init_page_count(virt_to_page(addr));
 | 
							init_page_count(virt_to_page(addr));
 | 
				
			||||||
		free_page(addr);
 | 
							free_page(addr);
 | 
				
			||||||
		totalram_pages++;
 | 
							totalram_pages++;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	printk(KERN_INFO "Freeing unused kernel memory: %ldk freed (0x%x - 0x%x)\n",
 | 
						printk(KERN_INFO "Freeing unused kernel memory: %ldk freed (0x%x - 0x%x)\n",
 | 
				
			||||||
			(addr - PAGE_ALIGN((long) &__init_begin)) >> 10,
 | 
								(addr - PAGE_ALIGN((long) __init_begin)) >> 10,
 | 
				
			||||||
			(int)(PAGE_ALIGN((unsigned long)(&__init_begin))),
 | 
								(int)(PAGE_ALIGN((unsigned long)__init_begin)),
 | 
				
			||||||
			(int)(addr - PAGE_SIZE));
 | 
								(int)(addr - PAGE_SIZE));
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -47,16 +47,26 @@ static inline void native_set_pte(pte_t *ptep, pte_t pte)
 | 
				
			||||||
 * they can run pmd_offset_map_lock or pmd_trans_huge or other pmd
 | 
					 * they can run pmd_offset_map_lock or pmd_trans_huge or other pmd
 | 
				
			||||||
 * operations.
 | 
					 * operations.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Without THP if the mmap_sem is hold for reading, the
 | 
					 * Without THP if the mmap_sem is hold for reading, the pmd can only
 | 
				
			||||||
 * pmd can only transition from null to not null while pmd_read_atomic runs.
 | 
					 * transition from null to not null while pmd_read_atomic runs. So
 | 
				
			||||||
 * So there's no need of literally reading it atomically.
 | 
					 * we can always return atomic pmd values with this function.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * With THP if the mmap_sem is hold for reading, the pmd can become
 | 
					 * With THP if the mmap_sem is hold for reading, the pmd can become
 | 
				
			||||||
 * THP or null or point to a pte (and in turn become "stable") at any
 | 
					 * trans_huge or none or point to a pte (and in turn become "stable")
 | 
				
			||||||
 * time under pmd_read_atomic, so it's mandatory to read it atomically
 | 
					 * at any time under pmd_read_atomic. We could read it really
 | 
				
			||||||
 * with cmpxchg8b.
 | 
					 * atomically here with a atomic64_read for the THP enabled case (and
 | 
				
			||||||
 | 
					 * it would be a whole lot simpler), but to avoid using cmpxchg8b we
 | 
				
			||||||
 | 
					 * only return an atomic pmdval if the low part of the pmdval is later
 | 
				
			||||||
 | 
					 * found stable (i.e. pointing to a pte). And we're returning a none
 | 
				
			||||||
 | 
					 * pmdval if the low part of the pmd is none. In some cases the high
 | 
				
			||||||
 | 
					 * and low part of the pmdval returned may not be consistent if THP is
 | 
				
			||||||
 | 
					 * enabled (the low part may point to previously mapped hugepage,
 | 
				
			||||||
 | 
					 * while the high part may point to a more recently mapped hugepage),
 | 
				
			||||||
 | 
					 * but pmd_none_or_trans_huge_or_clear_bad() only needs the low part
 | 
				
			||||||
 | 
					 * of the pmd to be read atomically to decide if the pmd is unstable
 | 
				
			||||||
 | 
					 * or not, with the only exception of when the low part of the pmd is
 | 
				
			||||||
 | 
					 * zero in which case we return a none pmd.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
#ifndef CONFIG_TRANSPARENT_HUGEPAGE
 | 
					 | 
				
			||||||
static inline pmd_t pmd_read_atomic(pmd_t *pmdp)
 | 
					static inline pmd_t pmd_read_atomic(pmd_t *pmdp)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	pmdval_t ret;
 | 
						pmdval_t ret;
 | 
				
			||||||
| 
						 | 
					@ -74,12 +84,6 @@ static inline pmd_t pmd_read_atomic(pmd_t *pmdp)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return (pmd_t) { ret };
 | 
						return (pmd_t) { ret };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
#else /* CONFIG_TRANSPARENT_HUGEPAGE */
 | 
					 | 
				
			||||||
static inline pmd_t pmd_read_atomic(pmd_t *pmdp)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	return (pmd_t) { atomic64_read((atomic64_t *)pmdp) };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
#endif /* CONFIG_TRANSPARENT_HUGEPAGE */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline void native_set_pte_atomic(pte_t *ptep, pte_t pte)
 | 
					static inline void native_set_pte_atomic(pte_t *ptep, pte_t pte)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -68,8 +68,8 @@ endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Only build variant and/or platform if it includes a Makefile
 | 
					# Only build variant and/or platform if it includes a Makefile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
buildvar := $(shell test -a $(srctree)/arch/xtensa/variants/$(VARIANT)/Makefile && echo arch/xtensa/variants/$(VARIANT)/)
 | 
					buildvar := $(shell test -e $(srctree)/arch/xtensa/variants/$(VARIANT)/Makefile && echo arch/xtensa/variants/$(VARIANT)/)
 | 
				
			||||||
buildplf := $(shell test -a $(srctree)/arch/xtensa/platforms/$(PLATFORM)/Makefile && echo arch/xtensa/platforms/$(PLATFORM)/)
 | 
					buildplf := $(shell test -e $(srctree)/arch/xtensa/platforms/$(PLATFORM)/Makefile && echo arch/xtensa/platforms/$(PLATFORM)/)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Find libgcc.a
 | 
					# Find libgcc.a
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -83,7 +83,6 @@ SECTIONS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  _text = .;
 | 
					  _text = .;
 | 
				
			||||||
  _stext = .;
 | 
					  _stext = .;
 | 
				
			||||||
  _ftext = .;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .text :
 | 
					  .text :
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
| 
						 | 
					@ -112,7 +111,7 @@ SECTIONS
 | 
				
			||||||
  EXCEPTION_TABLE(16)
 | 
					  EXCEPTION_TABLE(16)
 | 
				
			||||||
  /* Data section */
 | 
					  /* Data section */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  _fdata = .;
 | 
					  _sdata = .;
 | 
				
			||||||
  RW_DATA_SECTION(XCHAL_ICACHE_LINESIZE, PAGE_SIZE, THREAD_SIZE)
 | 
					  RW_DATA_SECTION(XCHAL_ICACHE_LINESIZE, PAGE_SIZE, THREAD_SIZE)
 | 
				
			||||||
  _edata = .;
 | 
					  _edata = .;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -26,11 +26,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <asm/bootparam.h>
 | 
					#include <asm/bootparam.h>
 | 
				
			||||||
#include <asm/page.h>
 | 
					#include <asm/page.h>
 | 
				
			||||||
 | 
					#include <asm/sections.h>
 | 
				
			||||||
/* References to section boundaries */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
extern char _ftext, _etext, _fdata, _edata, _rodata_end;
 | 
					 | 
				
			||||||
extern char __init_begin, __init_end;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * mem_reserve(start, end, must_exist)
 | 
					 * mem_reserve(start, end, must_exist)
 | 
				
			||||||
| 
						 | 
					@ -197,9 +193,9 @@ void __init mem_init(void)
 | 
				
			||||||
			reservedpages++;
 | 
								reservedpages++;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	codesize =  (unsigned long) &_etext - (unsigned long) &_ftext;
 | 
						codesize =  (unsigned long) _etext - (unsigned long) _stext;
 | 
				
			||||||
	datasize =  (unsigned long) &_edata - (unsigned long) &_fdata;
 | 
						datasize =  (unsigned long) _edata - (unsigned long) _sdata;
 | 
				
			||||||
	initsize =  (unsigned long) &__init_end - (unsigned long) &__init_begin;
 | 
						initsize =  (unsigned long) __init_end - (unsigned long) __init_begin;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	printk("Memory: %luk/%luk available (%ldk kernel code, %ldk reserved, "
 | 
						printk("Memory: %luk/%luk available (%ldk kernel code, %ldk reserved, "
 | 
				
			||||||
	       "%ldk data, %ldk init %ldk highmem)\n",
 | 
						       "%ldk data, %ldk init %ldk highmem)\n",
 | 
				
			||||||
| 
						 | 
					@ -237,7 +233,7 @@ void free_initrd_mem(unsigned long start, unsigned long end)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void free_initmem(void)
 | 
					void free_initmem(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	free_reserved_mem(&__init_begin, &__init_end);
 | 
						free_reserved_mem(__init_begin, __init_end);
 | 
				
			||||||
	printk("Freeing unused kernel memory: %dk freed\n",
 | 
						printk("Freeing unused kernel memory: %zuk freed\n",
 | 
				
			||||||
	       (&__init_end - &__init_begin) >> 10);
 | 
						       (__init_end - __init_begin) >> 10);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * Arasan Compact Flash host controller source file
 | 
					 * Arasan Compact Flash host controller source file
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2011 ST Microelectronics
 | 
					 * Copyright (C) 2011 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					@ -959,7 +959,7 @@ static struct platform_driver arasan_cf_driver = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
module_platform_driver(arasan_cf_driver);
 | 
					module_platform_driver(arasan_cf_driver);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
MODULE_AUTHOR("Viresh Kumar <viresh.kumar@st.com>");
 | 
					MODULE_AUTHOR("Viresh Kumar <viresh.linux@gmail.com>");
 | 
				
			||||||
MODULE_DESCRIPTION("Arasan ATA Compact Flash driver");
 | 
					MODULE_DESCRIPTION("Arasan ATA Compact Flash driver");
 | 
				
			||||||
MODULE_LICENSE("GPL");
 | 
					MODULE_LICENSE("GPL");
 | 
				
			||||||
MODULE_ALIAS("platform:" DRIVER_NAME);
 | 
					MODULE_ALIAS("platform:" DRIVER_NAME);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,7 +2,7 @@
 | 
				
			||||||
 * Clock framework definitions for SPEAr platform
 | 
					 * Clock framework definitions for SPEAr platform
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * SPEAr1310 machine clock framework source file
 | 
					 * SPEAr1310 machine clock framework source file
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * SPEAr1340 machine clock framework source file
 | 
					 * SPEAr1340 machine clock framework source file
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,7 +2,7 @@
 | 
				
			||||||
 * SPEAr3xx machines clock framework source file
 | 
					 * SPEAr3xx machines clock framework source file
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,7 +2,7 @@
 | 
				
			||||||
 * SPEAr6xx machines clock framework source file
 | 
					 * SPEAr6xx machines clock framework source file
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1626,4 +1626,4 @@ module_exit(dw_exit);
 | 
				
			||||||
MODULE_LICENSE("GPL v2");
 | 
					MODULE_LICENSE("GPL v2");
 | 
				
			||||||
MODULE_DESCRIPTION("Synopsys DesignWare DMA Controller driver");
 | 
					MODULE_DESCRIPTION("Synopsys DesignWare DMA Controller driver");
 | 
				
			||||||
MODULE_AUTHOR("Haavard Skinnemoen (Atmel)");
 | 
					MODULE_AUTHOR("Haavard Skinnemoen (Atmel)");
 | 
				
			||||||
MODULE_AUTHOR("Viresh Kumar <viresh.kumar@st.com>");
 | 
					MODULE_AUTHOR("Viresh Kumar <viresh.linux@gmail.com>");
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,7 +6,7 @@
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * License Terms: GNU General Public License, version 2
 | 
					 * License Terms: GNU General Public License, version 2
 | 
				
			||||||
 * Author: Rabin Vincent <rabin.vincent@stericsson.com> for ST-Ericsson
 | 
					 * Author: Rabin Vincent <rabin.vincent@stericsson.com> for ST-Ericsson
 | 
				
			||||||
 * Author: Viresh Kumar <viresh.kumar@st.com> for ST Microelectronics
 | 
					 * Author: Viresh Kumar <viresh.linux@gmail.com> for ST Microelectronics
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <linux/i2c.h>
 | 
					#include <linux/i2c.h>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * Copyright (C) ST Microelectronics SA 2011
 | 
					 * Copyright (C) ST Microelectronics SA 2011
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * License Terms: GNU General Public License, version 2
 | 
					 * License Terms: GNU General Public License, version 2
 | 
				
			||||||
 * Author: Viresh Kumar <viresh.kumar@st.com> for ST Microelectronics
 | 
					 * Author: Viresh Kumar <viresh.linux@gmail.com> for ST Microelectronics
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <linux/spi/spi.h>
 | 
					#include <linux/spi/spi.h>
 | 
				
			||||||
| 
						 | 
					@ -146,4 +146,4 @@ module_exit(stmpe_exit);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
MODULE_LICENSE("GPL v2");
 | 
					MODULE_LICENSE("GPL v2");
 | 
				
			||||||
MODULE_DESCRIPTION("STMPE MFD SPI Interface Driver");
 | 
					MODULE_DESCRIPTION("STMPE MFD SPI Interface Driver");
 | 
				
			||||||
MODULE_AUTHOR("Viresh Kumar <viresh.kumar@st.com>");
 | 
					MODULE_AUTHOR("Viresh Kumar <viresh.linux@gmail.com>");
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * Support of SDHCI platform devices for spear soc family
 | 
					 * Support of SDHCI platform devices for spear soc family
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2010 ST Microelectronics
 | 
					 * Copyright (C) 2010 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar<viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Inspired by sdhci-pltfm.c
 | 
					 * Inspired by sdhci-pltfm.c
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
| 
						 | 
					@ -289,5 +289,5 @@ static struct platform_driver sdhci_driver = {
 | 
				
			||||||
module_platform_driver(sdhci_driver);
 | 
					module_platform_driver(sdhci_driver);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
MODULE_DESCRIPTION("SPEAr Secure Digital Host Controller Interface driver");
 | 
					MODULE_DESCRIPTION("SPEAr Secure Digital Host Controller Interface driver");
 | 
				
			||||||
MODULE_AUTHOR("Viresh Kumar <viresh.kumar@st.com>");
 | 
					MODULE_AUTHOR("Viresh Kumar <viresh.linux@gmail.com>");
 | 
				
			||||||
MODULE_LICENSE("GPL v2");
 | 
					MODULE_LICENSE("GPL v2");
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,7 +2,7 @@
 | 
				
			||||||
 * Driver for the ST Microelectronics SPEAr pinmux
 | 
					 * Driver for the ST Microelectronics SPEAr pinmux
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Inspired from:
 | 
					 * Inspired from:
 | 
				
			||||||
 * - U300 Pinctl drivers
 | 
					 * - U300 Pinctl drivers
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,7 +2,7 @@
 | 
				
			||||||
 * Driver header file for the ST Microelectronics SPEAr pinmux
 | 
					 * Driver header file for the ST Microelectronics SPEAr pinmux
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,7 +2,7 @@
 | 
				
			||||||
 * Driver for the ST Microelectronics SPEAr1310 pinmux
 | 
					 * Driver for the ST Microelectronics SPEAr1310 pinmux
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					@ -2192,7 +2192,7 @@ static void __exit spear1310_pinctrl_exit(void)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
module_exit(spear1310_pinctrl_exit);
 | 
					module_exit(spear1310_pinctrl_exit);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
MODULE_AUTHOR("Viresh Kumar <viresh.kumar@st.com>");
 | 
					MODULE_AUTHOR("Viresh Kumar <viresh.linux@gmail.com>");
 | 
				
			||||||
MODULE_DESCRIPTION("ST Microelectronics SPEAr1310 pinctrl driver");
 | 
					MODULE_DESCRIPTION("ST Microelectronics SPEAr1310 pinctrl driver");
 | 
				
			||||||
MODULE_LICENSE("GPL v2");
 | 
					MODULE_LICENSE("GPL v2");
 | 
				
			||||||
MODULE_DEVICE_TABLE(of, spear1310_pinctrl_of_match);
 | 
					MODULE_DEVICE_TABLE(of, spear1310_pinctrl_of_match);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,7 +2,7 @@
 | 
				
			||||||
 * Driver for the ST Microelectronics SPEAr1340 pinmux
 | 
					 * Driver for the ST Microelectronics SPEAr1340 pinmux
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					@ -1983,7 +1983,7 @@ static void __exit spear1340_pinctrl_exit(void)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
module_exit(spear1340_pinctrl_exit);
 | 
					module_exit(spear1340_pinctrl_exit);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
MODULE_AUTHOR("Viresh Kumar <viresh.kumar@st.com>");
 | 
					MODULE_AUTHOR("Viresh Kumar <viresh.linux@gmail.com>");
 | 
				
			||||||
MODULE_DESCRIPTION("ST Microelectronics SPEAr1340 pinctrl driver");
 | 
					MODULE_DESCRIPTION("ST Microelectronics SPEAr1340 pinctrl driver");
 | 
				
			||||||
MODULE_LICENSE("GPL v2");
 | 
					MODULE_LICENSE("GPL v2");
 | 
				
			||||||
MODULE_DEVICE_TABLE(of, spear1340_pinctrl_of_match);
 | 
					MODULE_DEVICE_TABLE(of, spear1340_pinctrl_of_match);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,7 +2,7 @@
 | 
				
			||||||
 * Driver for the ST Microelectronics SPEAr300 pinmux
 | 
					 * Driver for the ST Microelectronics SPEAr300 pinmux
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					@ -702,7 +702,7 @@ static void __exit spear300_pinctrl_exit(void)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
module_exit(spear300_pinctrl_exit);
 | 
					module_exit(spear300_pinctrl_exit);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
MODULE_AUTHOR("Viresh Kumar <viresh.kumar@st.com>");
 | 
					MODULE_AUTHOR("Viresh Kumar <viresh.linux@gmail.com>");
 | 
				
			||||||
MODULE_DESCRIPTION("ST Microelectronics SPEAr300 pinctrl driver");
 | 
					MODULE_DESCRIPTION("ST Microelectronics SPEAr300 pinctrl driver");
 | 
				
			||||||
MODULE_LICENSE("GPL v2");
 | 
					MODULE_LICENSE("GPL v2");
 | 
				
			||||||
MODULE_DEVICE_TABLE(of, spear300_pinctrl_of_match);
 | 
					MODULE_DEVICE_TABLE(of, spear300_pinctrl_of_match);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,7 +2,7 @@
 | 
				
			||||||
 * Driver for the ST Microelectronics SPEAr310 pinmux
 | 
					 * Driver for the ST Microelectronics SPEAr310 pinmux
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					@ -425,7 +425,7 @@ static void __exit spear310_pinctrl_exit(void)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
module_exit(spear310_pinctrl_exit);
 | 
					module_exit(spear310_pinctrl_exit);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
MODULE_AUTHOR("Viresh Kumar <viresh.kumar@st.com>");
 | 
					MODULE_AUTHOR("Viresh Kumar <viresh.linux@gmail.com>");
 | 
				
			||||||
MODULE_DESCRIPTION("ST Microelectronics SPEAr310 pinctrl driver");
 | 
					MODULE_DESCRIPTION("ST Microelectronics SPEAr310 pinctrl driver");
 | 
				
			||||||
MODULE_LICENSE("GPL v2");
 | 
					MODULE_LICENSE("GPL v2");
 | 
				
			||||||
MODULE_DEVICE_TABLE(of, SPEAr310_pinctrl_of_match);
 | 
					MODULE_DEVICE_TABLE(of, SPEAr310_pinctrl_of_match);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,7 +2,7 @@
 | 
				
			||||||
 * Driver for the ST Microelectronics SPEAr320 pinmux
 | 
					 * Driver for the ST Microelectronics SPEAr320 pinmux
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					@ -3462,7 +3462,7 @@ static void __exit spear320_pinctrl_exit(void)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
module_exit(spear320_pinctrl_exit);
 | 
					module_exit(spear320_pinctrl_exit);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
MODULE_AUTHOR("Viresh Kumar <viresh.kumar@st.com>");
 | 
					MODULE_AUTHOR("Viresh Kumar <viresh.linux@gmail.com>");
 | 
				
			||||||
MODULE_DESCRIPTION("ST Microelectronics SPEAr320 pinctrl driver");
 | 
					MODULE_DESCRIPTION("ST Microelectronics SPEAr320 pinctrl driver");
 | 
				
			||||||
MODULE_LICENSE("GPL v2");
 | 
					MODULE_LICENSE("GPL v2");
 | 
				
			||||||
MODULE_DEVICE_TABLE(of, spear320_pinctrl_of_match);
 | 
					MODULE_DEVICE_TABLE(of, spear320_pinctrl_of_match);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,7 +2,7 @@
 | 
				
			||||||
 * Driver for the ST Microelectronics SPEAr3xx pinmux
 | 
					 * Driver for the ST Microelectronics SPEAr3xx pinmux
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,7 +2,7 @@
 | 
				
			||||||
 * Header file for the ST Microelectronics SPEAr3xx pinmux
 | 
					 * Header file for the ST Microelectronics SPEAr3xx pinmux
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2012 ST Microelectronics
 | 
					 * Copyright (C) 2012 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * Watchdog driver for ARM SP805 watchdog module
 | 
					 * Watchdog driver for ARM SP805 watchdog module
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2010 ST Microelectronics
 | 
					 * Copyright (C) 2010 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar<viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2 or later. This program is licensed "as is" without any
 | 
					 * License version 2 or later. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					@ -331,6 +331,6 @@ static struct amba_driver sp805_wdt_driver = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
module_amba_driver(sp805_wdt_driver);
 | 
					module_amba_driver(sp805_wdt_driver);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
MODULE_AUTHOR("Viresh Kumar <viresh.kumar@st.com>");
 | 
					MODULE_AUTHOR("Viresh Kumar <viresh.linux@gmail.com>");
 | 
				
			||||||
MODULE_DESCRIPTION("ARM SP805 Watchdog Driver");
 | 
					MODULE_DESCRIPTION("ARM SP805 Watchdog Driver");
 | 
				
			||||||
MODULE_LICENSE("GPL");
 | 
					MODULE_LICENSE("GPL");
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -819,10 +819,10 @@ static int exec_mmap(struct mm_struct *mm)
 | 
				
			||||||
	/* Notify parent that we're no longer interested in the old VM */
 | 
						/* Notify parent that we're no longer interested in the old VM */
 | 
				
			||||||
	tsk = current;
 | 
						tsk = current;
 | 
				
			||||||
	old_mm = current->mm;
 | 
						old_mm = current->mm;
 | 
				
			||||||
	sync_mm_rss(old_mm);
 | 
					 | 
				
			||||||
	mm_release(tsk, old_mm);
 | 
						mm_release(tsk, old_mm);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (old_mm) {
 | 
						if (old_mm) {
 | 
				
			||||||
 | 
							sync_mm_rss(old_mm);
 | 
				
			||||||
		/*
 | 
							/*
 | 
				
			||||||
		 * Make sure that if there is a core dump in progress
 | 
							 * Make sure that if there is a core dump in progress
 | 
				
			||||||
		 * for the old mm, we get out and die instead of going
 | 
							 * for the old mm, we get out and die instead of going
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -191,6 +191,8 @@ void nilfs_remove_all_gcinodes(struct the_nilfs *nilfs)
 | 
				
			||||||
	while (!list_empty(head)) {
 | 
						while (!list_empty(head)) {
 | 
				
			||||||
		ii = list_first_entry(head, struct nilfs_inode_info, i_dirty);
 | 
							ii = list_first_entry(head, struct nilfs_inode_info, i_dirty);
 | 
				
			||||||
		list_del_init(&ii->i_dirty);
 | 
							list_del_init(&ii->i_dirty);
 | 
				
			||||||
 | 
							truncate_inode_pages(&ii->vfs_inode.i_data, 0);
 | 
				
			||||||
 | 
							nilfs_btnode_cache_clear(&ii->i_btnode_cache);
 | 
				
			||||||
		iput(&ii->vfs_inode);
 | 
							iput(&ii->vfs_inode);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2309,6 +2309,8 @@ nilfs_remove_written_gcinodes(struct the_nilfs *nilfs, struct list_head *head)
 | 
				
			||||||
		if (!test_bit(NILFS_I_UPDATED, &ii->i_state))
 | 
							if (!test_bit(NILFS_I_UPDATED, &ii->i_state))
 | 
				
			||||||
			continue;
 | 
								continue;
 | 
				
			||||||
		list_del_init(&ii->i_dirty);
 | 
							list_del_init(&ii->i_dirty);
 | 
				
			||||||
 | 
							truncate_inode_pages(&ii->vfs_inode.i_data, 0);
 | 
				
			||||||
 | 
							nilfs_btnode_cache_clear(&ii->i_btnode_cache);
 | 
				
			||||||
		iput(&ii->vfs_inode);
 | 
							iput(&ii->vfs_inode);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -484,6 +484,16 @@ static inline int pmd_none_or_trans_huge_or_clear_bad(pmd_t *pmd)
 | 
				
			||||||
	/*
 | 
						/*
 | 
				
			||||||
	 * The barrier will stabilize the pmdval in a register or on
 | 
						 * The barrier will stabilize the pmdval in a register or on
 | 
				
			||||||
	 * the stack so that it will stop changing under the code.
 | 
						 * the stack so that it will stop changing under the code.
 | 
				
			||||||
 | 
						 *
 | 
				
			||||||
 | 
						 * When CONFIG_TRANSPARENT_HUGEPAGE=y on x86 32bit PAE,
 | 
				
			||||||
 | 
						 * pmd_read_atomic is allowed to return a not atomic pmdval
 | 
				
			||||||
 | 
						 * (for example pointing to an hugepage that has never been
 | 
				
			||||||
 | 
						 * mapped in the pmd). The below checks will only care about
 | 
				
			||||||
 | 
						 * the low part of the pmd with 32bit PAE x86 anyway, with the
 | 
				
			||||||
 | 
						 * exception of pmd_none(). So the important thing is that if
 | 
				
			||||||
 | 
						 * the low part of the pmd is found null, the high part will
 | 
				
			||||||
 | 
						 * be also null or the pmd_none() check below would be
 | 
				
			||||||
 | 
						 * confused.
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
 | 
					#ifdef CONFIG_TRANSPARENT_HUGEPAGE
 | 
				
			||||||
	barrier();
 | 
						barrier();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -57,8 +57,18 @@ struct page {
 | 
				
			||||||
		};
 | 
							};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		union {
 | 
							union {
 | 
				
			||||||
 | 
					#if defined(CONFIG_HAVE_CMPXCHG_DOUBLE) && \
 | 
				
			||||||
 | 
						defined(CONFIG_HAVE_ALIGNED_STRUCT_PAGE)
 | 
				
			||||||
			/* Used for cmpxchg_double in slub */
 | 
								/* Used for cmpxchg_double in slub */
 | 
				
			||||||
			unsigned long counters;
 | 
								unsigned long counters;
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
								/*
 | 
				
			||||||
 | 
								 * Keep _count separate from slub cmpxchg_double data.
 | 
				
			||||||
 | 
								 * As the rest of the double word is protected by
 | 
				
			||||||
 | 
								 * slab_lock but _count is not.
 | 
				
			||||||
 | 
								 */
 | 
				
			||||||
 | 
								unsigned counters;
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			struct {
 | 
								struct {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * SDHCI declarations specific to ST SPEAr platform
 | 
					 * SDHCI declarations specific to ST SPEAr platform
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2010 ST Microelectronics
 | 
					 * Copyright (C) 2010 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar<viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
 * Arasan Compact Flash host controller platform data header file
 | 
					 * Arasan Compact Flash host controller platform data header file
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (C) 2011 ST Microelectronics
 | 
					 * Copyright (C) 2011 ST Microelectronics
 | 
				
			||||||
 * Viresh Kumar <viresh.kumar@st.com>
 | 
					 * Viresh Kumar <viresh.linux@gmail.com>
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This file is licensed under the terms of the GNU General Public
 | 
					 * This file is licensed under the terms of the GNU General Public
 | 
				
			||||||
 * License version 2. This program is licensed "as is" without any
 | 
					 * License version 2. This program is licensed "as is" without any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -72,6 +72,18 @@ static void __unhash_process(struct task_struct *p, bool group_dead)
 | 
				
			||||||
		list_del_rcu(&p->tasks);
 | 
							list_del_rcu(&p->tasks);
 | 
				
			||||||
		list_del_init(&p->sibling);
 | 
							list_del_init(&p->sibling);
 | 
				
			||||||
		__this_cpu_dec(process_counts);
 | 
							__this_cpu_dec(process_counts);
 | 
				
			||||||
 | 
							/*
 | 
				
			||||||
 | 
							 * If we are the last child process in a pid namespace to be
 | 
				
			||||||
 | 
							 * reaped, notify the reaper sleeping zap_pid_ns_processes().
 | 
				
			||||||
 | 
							 */
 | 
				
			||||||
 | 
							if (IS_ENABLED(CONFIG_PID_NS)) {
 | 
				
			||||||
 | 
								struct task_struct *parent = p->real_parent;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								if ((task_active_pid_ns(parent)->child_reaper == parent) &&
 | 
				
			||||||
 | 
								    list_empty(&parent->children) &&
 | 
				
			||||||
 | 
								    (parent->flags & PF_EXITING))
 | 
				
			||||||
 | 
									wake_up_process(parent);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	list_del_rcu(&p->thread_group);
 | 
						list_del_rcu(&p->thread_group);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -643,6 +655,7 @@ static void exit_mm(struct task_struct * tsk)
 | 
				
			||||||
	mm_release(tsk, mm);
 | 
						mm_release(tsk, mm);
 | 
				
			||||||
	if (!mm)
 | 
						if (!mm)
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
 | 
						sync_mm_rss(mm);
 | 
				
			||||||
	/*
 | 
						/*
 | 
				
			||||||
	 * Serialize with any possible pending coredump.
 | 
						 * Serialize with any possible pending coredump.
 | 
				
			||||||
	 * We must hold mmap_sem around checking core_state
 | 
						 * We must hold mmap_sem around checking core_state
 | 
				
			||||||
| 
						 | 
					@ -719,12 +732,6 @@ static struct task_struct *find_new_reaper(struct task_struct *father)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		zap_pid_ns_processes(pid_ns);
 | 
							zap_pid_ns_processes(pid_ns);
 | 
				
			||||||
		write_lock_irq(&tasklist_lock);
 | 
							write_lock_irq(&tasklist_lock);
 | 
				
			||||||
		/*
 | 
					 | 
				
			||||||
		 * We can not clear ->child_reaper or leave it alone.
 | 
					 | 
				
			||||||
		 * There may by stealth EXIT_DEAD tasks on ->children,
 | 
					 | 
				
			||||||
		 * forget_original_parent() must move them somewhere.
 | 
					 | 
				
			||||||
		 */
 | 
					 | 
				
			||||||
		pid_ns->child_reaper = init_pid_ns.child_reaper;
 | 
					 | 
				
			||||||
	} else if (father->signal->has_child_subreaper) {
 | 
						} else if (father->signal->has_child_subreaper) {
 | 
				
			||||||
		struct task_struct *reaper;
 | 
							struct task_struct *reaper;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -184,11 +184,31 @@ void zap_pid_ns_processes(struct pid_namespace *pid_ns)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	read_unlock(&tasklist_lock);
 | 
						read_unlock(&tasklist_lock);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/* Firstly reap the EXIT_ZOMBIE children we may have. */
 | 
				
			||||||
	do {
 | 
						do {
 | 
				
			||||||
		clear_thread_flag(TIF_SIGPENDING);
 | 
							clear_thread_flag(TIF_SIGPENDING);
 | 
				
			||||||
		rc = sys_wait4(-1, NULL, __WALL, NULL);
 | 
							rc = sys_wait4(-1, NULL, __WALL, NULL);
 | 
				
			||||||
	} while (rc != -ECHILD);
 | 
						} while (rc != -ECHILD);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/*
 | 
				
			||||||
 | 
						 * sys_wait4() above can't reap the TASK_DEAD children.
 | 
				
			||||||
 | 
						 * Make sure they all go away, see __unhash_process().
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						for (;;) {
 | 
				
			||||||
 | 
							bool need_wait = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							read_lock(&tasklist_lock);
 | 
				
			||||||
 | 
							if (!list_empty(¤t->children)) {
 | 
				
			||||||
 | 
								__set_current_state(TASK_UNINTERRUPTIBLE);
 | 
				
			||||||
 | 
								need_wait = true;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							read_unlock(&tasklist_lock);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if (!need_wait)
 | 
				
			||||||
 | 
								break;
 | 
				
			||||||
 | 
							schedule();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (pid_ns->reboot)
 | 
						if (pid_ns->reboot)
 | 
				
			||||||
		current->signal->group_exit_code = pid_ns->reboot;
 | 
							current->signal->group_exit_code = pid_ns->reboot;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2127,9 +2127,6 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,
 | 
				
			||||||
				else
 | 
									else
 | 
				
			||||||
					return -EINVAL;
 | 
										return -EINVAL;
 | 
				
			||||||
				break;
 | 
									break;
 | 
				
			||||||
		case PR_GET_TID_ADDRESS:
 | 
					 | 
				
			||||||
			error = prctl_get_tid_address(me, (int __user **)arg2);
 | 
					 | 
				
			||||||
			break;
 | 
					 | 
				
			||||||
			default:
 | 
								default:
 | 
				
			||||||
				return -EINVAL;
 | 
									return -EINVAL;
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
| 
						 | 
					@ -2147,6 +2144,9 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,
 | 
				
			||||||
		case PR_SET_MM:
 | 
							case PR_SET_MM:
 | 
				
			||||||
			error = prctl_set_mm(arg2, arg3, arg4, arg5);
 | 
								error = prctl_set_mm(arg2, arg3, arg4, arg5);
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
 | 
							case PR_GET_TID_ADDRESS:
 | 
				
			||||||
 | 
								error = prctl_get_tid_address(me, (int __user **)arg2);
 | 
				
			||||||
 | 
								break;
 | 
				
			||||||
		case PR_SET_CHILD_SUBREAPER:
 | 
							case PR_SET_CHILD_SUBREAPER:
 | 
				
			||||||
			me->signal->is_child_subreaper = !!arg2;
 | 
								me->signal->is_child_subreaper = !!arg2;
 | 
				
			||||||
			error = 0;
 | 
								error = 0;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -101,6 +101,10 @@ static inline bool fail_stacktrace(struct fault_attr *attr)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool should_fail(struct fault_attr *attr, ssize_t size)
 | 
					bool should_fail(struct fault_attr *attr, ssize_t size)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
						/* No need to check any other properties if the probability is 0 */
 | 
				
			||||||
 | 
						if (attr->probability == 0)
 | 
				
			||||||
 | 
							return false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (attr->task_filter && !fail_task(attr, current))
 | 
						if (attr->task_filter && !fail_task(attr, current))
 | 
				
			||||||
		return false;
 | 
							return false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -184,7 +184,24 @@ static void __init_memblock memblock_remove_region(struct memblock_type *type, u
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static int __init_memblock memblock_double_array(struct memblock_type *type)
 | 
					/**
 | 
				
			||||||
 | 
					 * memblock_double_array - double the size of the memblock regions array
 | 
				
			||||||
 | 
					 * @type: memblock type of the regions array being doubled
 | 
				
			||||||
 | 
					 * @new_area_start: starting address of memory range to avoid overlap with
 | 
				
			||||||
 | 
					 * @new_area_size: size of memory range to avoid overlap with
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Double the size of the @type regions array. If memblock is being used to
 | 
				
			||||||
 | 
					 * allocate memory for a new reserved regions array and there is a previously
 | 
				
			||||||
 | 
					 * allocated memory range [@new_area_start,@new_area_start+@new_area_size]
 | 
				
			||||||
 | 
					 * waiting to be reserved, ensure the memory used by the new array does
 | 
				
			||||||
 | 
					 * not overlap.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * RETURNS:
 | 
				
			||||||
 | 
					 * 0 on success, -1 on failure.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					static int __init_memblock memblock_double_array(struct memblock_type *type,
 | 
				
			||||||
 | 
											phys_addr_t new_area_start,
 | 
				
			||||||
 | 
											phys_addr_t new_area_size)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct memblock_region *new_array, *old_array;
 | 
						struct memblock_region *new_array, *old_array;
 | 
				
			||||||
	phys_addr_t old_size, new_size, addr;
 | 
						phys_addr_t old_size, new_size, addr;
 | 
				
			||||||
| 
						 | 
					@ -222,7 +239,18 @@ static int __init_memblock memblock_double_array(struct memblock_type *type)
 | 
				
			||||||
		new_array = kmalloc(new_size, GFP_KERNEL);
 | 
							new_array = kmalloc(new_size, GFP_KERNEL);
 | 
				
			||||||
		addr = new_array ? __pa(new_array) : 0;
 | 
							addr = new_array ? __pa(new_array) : 0;
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		addr = memblock_find_in_range(0, MEMBLOCK_ALLOC_ACCESSIBLE, new_size, sizeof(phys_addr_t));
 | 
							/* only exclude range when trying to double reserved.regions */
 | 
				
			||||||
 | 
							if (type != &memblock.reserved)
 | 
				
			||||||
 | 
								new_area_start = new_area_size = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							addr = memblock_find_in_range(new_area_start + new_area_size,
 | 
				
			||||||
 | 
											memblock.current_limit,
 | 
				
			||||||
 | 
											new_size, sizeof(phys_addr_t));
 | 
				
			||||||
 | 
							if (!addr && new_area_size)
 | 
				
			||||||
 | 
								addr = memblock_find_in_range(0,
 | 
				
			||||||
 | 
										min(new_area_start, memblock.current_limit),
 | 
				
			||||||
 | 
										new_size, sizeof(phys_addr_t));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		new_array = addr ? __va(addr) : 0;
 | 
							new_array = addr ? __va(addr) : 0;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if (!addr) {
 | 
						if (!addr) {
 | 
				
			||||||
| 
						 | 
					@ -399,7 +427,7 @@ repeat:
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	if (!insert) {
 | 
						if (!insert) {
 | 
				
			||||||
		while (type->cnt + nr_new > type->max)
 | 
							while (type->cnt + nr_new > type->max)
 | 
				
			||||||
			if (memblock_double_array(type) < 0)
 | 
								if (memblock_double_array(type, obase, size) < 0)
 | 
				
			||||||
				return -ENOMEM;
 | 
									return -ENOMEM;
 | 
				
			||||||
		insert = true;
 | 
							insert = true;
 | 
				
			||||||
		goto repeat;
 | 
							goto repeat;
 | 
				
			||||||
| 
						 | 
					@ -450,7 +478,7 @@ static int __init_memblock memblock_isolate_range(struct memblock_type *type,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* we'll create at most two more regions */
 | 
						/* we'll create at most two more regions */
 | 
				
			||||||
	while (type->cnt + 2 > type->max)
 | 
						while (type->cnt + 2 > type->max)
 | 
				
			||||||
		if (memblock_double_array(type) < 0)
 | 
							if (memblock_double_array(type, base, size) < 0)
 | 
				
			||||||
			return -ENOMEM;
 | 
								return -ENOMEM;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for (i = 0; i < type->cnt; i++) {
 | 
						for (i = 0; i < type->cnt; i++) {
 | 
				
			||||||
| 
						 | 
					@ -540,9 +568,9 @@ int __init_memblock memblock_reserve(phys_addr_t base, phys_addr_t size)
 | 
				
			||||||
 * __next_free_mem_range - next function for for_each_free_mem_range()
 | 
					 * __next_free_mem_range - next function for for_each_free_mem_range()
 | 
				
			||||||
 * @idx: pointer to u64 loop variable
 | 
					 * @idx: pointer to u64 loop variable
 | 
				
			||||||
 * @nid: nid: node selector, %MAX_NUMNODES for all nodes
 | 
					 * @nid: nid: node selector, %MAX_NUMNODES for all nodes
 | 
				
			||||||
 * @p_start: ptr to phys_addr_t for start address of the range, can be %NULL
 | 
					 * @out_start: ptr to phys_addr_t for start address of the range, can be %NULL
 | 
				
			||||||
 * @p_end: ptr to phys_addr_t for end address of the range, can be %NULL
 | 
					 * @out_end: ptr to phys_addr_t for end address of the range, can be %NULL
 | 
				
			||||||
 * @p_nid: ptr to int for nid of the range, can be %NULL
 | 
					 * @out_nid: ptr to int for nid of the range, can be %NULL
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Find the first free area from *@idx which matches @nid, fill the out
 | 
					 * Find the first free area from *@idx which matches @nid, fill the out
 | 
				
			||||||
 * parameters, and update *@idx for the next iteration.  The lower 32bit of
 | 
					 * parameters, and update *@idx for the next iteration.  The lower 32bit of
 | 
				
			||||||
| 
						 | 
					@ -616,9 +644,9 @@ void __init_memblock __next_free_mem_range(u64 *idx, int nid,
 | 
				
			||||||
 * __next_free_mem_range_rev - next function for for_each_free_mem_range_reverse()
 | 
					 * __next_free_mem_range_rev - next function for for_each_free_mem_range_reverse()
 | 
				
			||||||
 * @idx: pointer to u64 loop variable
 | 
					 * @idx: pointer to u64 loop variable
 | 
				
			||||||
 * @nid: nid: node selector, %MAX_NUMNODES for all nodes
 | 
					 * @nid: nid: node selector, %MAX_NUMNODES for all nodes
 | 
				
			||||||
 * @p_start: ptr to phys_addr_t for start address of the range, can be %NULL
 | 
					 * @out_start: ptr to phys_addr_t for start address of the range, can be %NULL
 | 
				
			||||||
 * @p_end: ptr to phys_addr_t for end address of the range, can be %NULL
 | 
					 * @out_end: ptr to phys_addr_t for end address of the range, can be %NULL
 | 
				
			||||||
 * @p_nid: ptr to int for nid of the range, can be %NULL
 | 
					 * @out_nid: ptr to int for nid of the range, can be %NULL
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Reverse of __next_free_mem_range().
 | 
					 * Reverse of __next_free_mem_range().
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1148,7 +1148,7 @@ bool __mem_cgroup_same_or_subtree(const struct mem_cgroup *root_memcg,
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	if (root_memcg == memcg)
 | 
						if (root_memcg == memcg)
 | 
				
			||||||
		return true;
 | 
							return true;
 | 
				
			||||||
	if (!root_memcg->use_hierarchy)
 | 
						if (!root_memcg->use_hierarchy || !memcg)
 | 
				
			||||||
		return false;
 | 
							return false;
 | 
				
			||||||
	return css_is_ancestor(&memcg->css, &root_memcg->css);
 | 
						return css_is_ancestor(&memcg->css, &root_memcg->css);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1234,7 +1234,7 @@ int mem_cgroup_inactive_file_is_low(struct lruvec *lruvec)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * mem_cgroup_margin - calculate chargeable space of a memory cgroup
 | 
					 * mem_cgroup_margin - calculate chargeable space of a memory cgroup
 | 
				
			||||||
 * @mem: the memory cgroup
 | 
					 * @memcg: the memory cgroup
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Returns the maximum amount of memory @mem can be charged with, in
 | 
					 * Returns the maximum amount of memory @mem can be charged with, in
 | 
				
			||||||
 * pages.
 | 
					 * pages.
 | 
				
			||||||
| 
						 | 
					@ -1508,7 +1508,7 @@ static unsigned long mem_cgroup_reclaim(struct mem_cgroup *memcg,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * test_mem_cgroup_node_reclaimable
 | 
					 * test_mem_cgroup_node_reclaimable
 | 
				
			||||||
 * @mem: the target memcg
 | 
					 * @memcg: the target memcg
 | 
				
			||||||
 * @nid: the node ID to be checked.
 | 
					 * @nid: the node ID to be checked.
 | 
				
			||||||
 * @noswap : specify true here if the user wants flle only information.
 | 
					 * @noswap : specify true here if the user wants flle only information.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										12
									
								
								mm/memory.c
									
										
									
									
									
								
							
							
						
						
									
										12
									
								
								mm/memory.c
									
										
									
									
									
								
							| 
						 | 
					@ -1225,7 +1225,15 @@ static inline unsigned long zap_pmd_range(struct mmu_gather *tlb,
 | 
				
			||||||
		next = pmd_addr_end(addr, end);
 | 
							next = pmd_addr_end(addr, end);
 | 
				
			||||||
		if (pmd_trans_huge(*pmd)) {
 | 
							if (pmd_trans_huge(*pmd)) {
 | 
				
			||||||
			if (next - addr != HPAGE_PMD_SIZE) {
 | 
								if (next - addr != HPAGE_PMD_SIZE) {
 | 
				
			||||||
				VM_BUG_ON(!rwsem_is_locked(&tlb->mm->mmap_sem));
 | 
					#ifdef CONFIG_DEBUG_VM
 | 
				
			||||||
 | 
									if (!rwsem_is_locked(&tlb->mm->mmap_sem)) {
 | 
				
			||||||
 | 
										pr_err("%s: mmap_sem is unlocked! addr=0x%lx end=0x%lx vma->vm_start=0x%lx vma->vm_end=0x%lx\n",
 | 
				
			||||||
 | 
											__func__, addr, end,
 | 
				
			||||||
 | 
											vma->vm_start,
 | 
				
			||||||
 | 
											vma->vm_end);
 | 
				
			||||||
 | 
										BUG();
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
				split_huge_page_pmd(vma->vm_mm, pmd);
 | 
									split_huge_page_pmd(vma->vm_mm, pmd);
 | 
				
			||||||
			} else if (zap_huge_pmd(tlb, vma, pmd, addr))
 | 
								} else if (zap_huge_pmd(tlb, vma, pmd, addr))
 | 
				
			||||||
				goto next;
 | 
									goto next;
 | 
				
			||||||
| 
						 | 
					@ -1366,7 +1374,7 @@ void unmap_vmas(struct mmu_gather *tlb,
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * zap_page_range - remove user pages in a given range
 | 
					 * zap_page_range - remove user pages in a given range
 | 
				
			||||||
 * @vma: vm_area_struct holding the applicable pages
 | 
					 * @vma: vm_area_struct holding the applicable pages
 | 
				
			||||||
 * @address: starting address of pages to zap
 | 
					 * @start: starting address of pages to zap
 | 
				
			||||||
 * @size: number of bytes to zap
 | 
					 * @size: number of bytes to zap
 | 
				
			||||||
 * @details: details of nonlinear truncation or shared cache invalidation
 | 
					 * @details: details of nonlinear truncation or shared cache invalidation
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -184,6 +184,7 @@ unsigned long oom_badness(struct task_struct *p, struct mem_cgroup *memcg,
 | 
				
			||||||
			  const nodemask_t *nodemask, unsigned long totalpages)
 | 
								  const nodemask_t *nodemask, unsigned long totalpages)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	long points;
 | 
						long points;
 | 
				
			||||||
 | 
						long adj;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (oom_unkillable_task(p, memcg, nodemask))
 | 
						if (oom_unkillable_task(p, memcg, nodemask))
 | 
				
			||||||
		return 0;
 | 
							return 0;
 | 
				
			||||||
| 
						 | 
					@ -192,7 +193,8 @@ unsigned long oom_badness(struct task_struct *p, struct mem_cgroup *memcg,
 | 
				
			||||||
	if (!p)
 | 
						if (!p)
 | 
				
			||||||
		return 0;
 | 
							return 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (p->signal->oom_score_adj == OOM_SCORE_ADJ_MIN) {
 | 
						adj = p->signal->oom_score_adj;
 | 
				
			||||||
 | 
						if (adj == OOM_SCORE_ADJ_MIN) {
 | 
				
			||||||
		task_unlock(p);
 | 
							task_unlock(p);
 | 
				
			||||||
		return 0;
 | 
							return 0;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -210,14 +212,11 @@ unsigned long oom_badness(struct task_struct *p, struct mem_cgroup *memcg,
 | 
				
			||||||
	 * implementation used by LSMs.
 | 
						 * implementation used by LSMs.
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	if (has_capability_noaudit(p, CAP_SYS_ADMIN))
 | 
						if (has_capability_noaudit(p, CAP_SYS_ADMIN))
 | 
				
			||||||
		points -= 30 * totalpages / 1000;
 | 
							adj -= 30;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/*
 | 
						/* Normalize to oom_score_adj units */
 | 
				
			||||||
	 * /proc/pid/oom_score_adj ranges from -1000 to +1000 such that it may
 | 
						adj *= totalpages / 1000;
 | 
				
			||||||
	 * either completely disable oom killing or always prefer a certain
 | 
						points += adj;
 | 
				
			||||||
	 * task.
 | 
					 | 
				
			||||||
	 */
 | 
					 | 
				
			||||||
	points += p->signal->oom_score_adj * totalpages / 1000;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/*
 | 
						/*
 | 
				
			||||||
	 * Never return 0 for an eligible task regardless of the root bonus and
 | 
						 * Never return 0 for an eligible task regardless of the root bonus and
 | 
				
			||||||
| 
						 | 
					@ -366,7 +365,7 @@ static struct task_struct *select_bad_process(unsigned int *ppoints,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * dump_tasks - dump current memory state of all system tasks
 | 
					 * dump_tasks - dump current memory state of all system tasks
 | 
				
			||||||
 * @mem: current's memory controller, if constrained
 | 
					 * @memcg: current's memory controller, if constrained
 | 
				
			||||||
 * @nodemask: nodemask passed to page allocator for mempolicy ooms
 | 
					 * @nodemask: nodemask passed to page allocator for mempolicy ooms
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Dumps the current memory state of all eligible tasks.  Tasks not in the same
 | 
					 * Dumps the current memory state of all eligible tasks.  Tasks not in the same
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -392,7 +392,7 @@ static struct swap_cgroup *lookup_swap_cgroup(swp_entry_t ent,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * swap_cgroup_cmpxchg - cmpxchg mem_cgroup's id for this swp_entry.
 | 
					 * swap_cgroup_cmpxchg - cmpxchg mem_cgroup's id for this swp_entry.
 | 
				
			||||||
 * @end: swap entry to be cmpxchged
 | 
					 * @ent: swap entry to be cmpxchged
 | 
				
			||||||
 * @old: old id
 | 
					 * @old: old id
 | 
				
			||||||
 * @new: new id
 | 
					 * @new: new id
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
| 
						 | 
					@ -422,7 +422,7 @@ unsigned short swap_cgroup_cmpxchg(swp_entry_t ent,
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * swap_cgroup_record - record mem_cgroup for this swp_entry.
 | 
					 * swap_cgroup_record - record mem_cgroup for this swp_entry.
 | 
				
			||||||
 * @ent: swap entry to be recorded into
 | 
					 * @ent: swap entry to be recorded into
 | 
				
			||||||
 * @mem: mem_cgroup to be recorded
 | 
					 * @id: mem_cgroup to be recorded
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Returns old value at success, 0 at failure.
 | 
					 * Returns old value at success, 0 at failure.
 | 
				
			||||||
 * (Of course, old value can be 0.)
 | 
					 * (Of course, old value can be 0.)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -162,7 +162,6 @@ static int walk_hugetlb_range(struct vm_area_struct *vma,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * walk_page_range - walk a memory map's page tables with a callback
 | 
					 * walk_page_range - walk a memory map's page tables with a callback
 | 
				
			||||||
 * @mm: memory map to walk
 | 
					 | 
				
			||||||
 * @addr: starting address
 | 
					 * @addr: starting address
 | 
				
			||||||
 * @end: ending address
 | 
					 * @end: ending address
 | 
				
			||||||
 * @walk: set of callbacks to invoke for each level of the tree
 | 
					 * @walk: set of callbacks to invoke for each level of the tree
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -360,7 +360,6 @@ err_free:
 | 
				
			||||||
 * @chunk: chunk to depopulate
 | 
					 * @chunk: chunk to depopulate
 | 
				
			||||||
 * @off: offset to the area to depopulate
 | 
					 * @off: offset to the area to depopulate
 | 
				
			||||||
 * @size: size of the area to depopulate in bytes
 | 
					 * @size: size of the area to depopulate in bytes
 | 
				
			||||||
 * @flush: whether to flush cache and tlb or not
 | 
					 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * For each cpu, depopulate and unmap pages [@page_start,@page_end)
 | 
					 * For each cpu, depopulate and unmap pages [@page_start,@page_end)
 | 
				
			||||||
 * from @chunk.  If @flush is true, vcache is flushed before unmapping
 | 
					 * from @chunk.  If @flush is true, vcache is flushed before unmapping
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -83,6 +83,8 @@ push(@signature_tags, "Signed-off-by:");
 | 
				
			||||||
push(@signature_tags, "Reviewed-by:");
 | 
					push(@signature_tags, "Reviewed-by:");
 | 
				
			||||||
push(@signature_tags, "Acked-by:");
 | 
					push(@signature_tags, "Acked-by:");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					my $signature_pattern = "\(" . join("|", @signature_tags) . "\)";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# rfc822 email address - preloaded methods go here.
 | 
					# rfc822 email address - preloaded methods go here.
 | 
				
			||||||
my $rfc822_lwsp = "(?:(?:\\r\\n)?[ \\t])";
 | 
					my $rfc822_lwsp = "(?:(?:\\r\\n)?[ \\t])";
 | 
				
			||||||
my $rfc822_char = '[\\000-\\377]';
 | 
					my $rfc822_char = '[\\000-\\377]';
 | 
				
			||||||
| 
						 | 
					@ -473,7 +475,6 @@ my @subsystem = ();
 | 
				
			||||||
my @status = ();
 | 
					my @status = ();
 | 
				
			||||||
my %deduplicate_name_hash = ();
 | 
					my %deduplicate_name_hash = ();
 | 
				
			||||||
my %deduplicate_address_hash = ();
 | 
					my %deduplicate_address_hash = ();
 | 
				
			||||||
my $signature_pattern;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
my @maintainers = get_maintainers();
 | 
					my @maintainers = get_maintainers();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue