- 28 10月, 2010 2 次提交
-
-
由 Daniel Walker 提交于
This prevents build failures since it's currently possible to select 8x50, 7x30, or 7x00 without selecting a specific board. These changes just force a target selection, which is currently defaulting to the most common one (7x30 only has one). Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Daniel Walker 提交于
In commit be370302 "ARM: Remove DISCONTIGMEM support", it removed this "node" member which cased the following compile failure in mach-msm, linux/arch/arm/mach-msm/board-halibut.c: In function 'halibut_fixup': linux/arch/arm/mach-msm/board-halibut.c:86: error: 'struct membank' has no member named 'node' linux/arch/arm/mach-msm/board-halibut.c:86: error: implicit declaration of function 'PHYS_TO_NID' I've removed the access to the node member which corrects the compile failure. Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
- 20 10月, 2010 2 次提交
-
-
由 Nicolas Pitre 提交于
Since we're now using addruart to establish the debug mapping, we can remove the io_pg_offst and phys_io members of struct machine_desc. The various declarations were removed using the following script: grep -rl MACHINE_START arch/arm | xargs \ sed -i '/MACHINE_START/,/MACHINE_END/ { /\.\(phys_io\|io_pg_offst\)/d }' [ Initial patch was from Jeremy Kerr, example script from Russell King ] Signed-off-by: NNicolas Pitre <nicolas.pitre@linaro.org> Acked-by: Eric Miao <eric.miao at canonical.com>
-
由 Jeremy Kerr 提交于
Rather than checking the MMU status in every instance of addruart, do it once in kernel/debug.S, and change the existing addruart macros to return both physical and virtual addresses. The main debug code can then select the appropriate address to use. This will also allow us to retreive the address of a uart for the MMU state that we're not current in. Updated with fixes for OMAP from Jason Wang <jason77.wang@gmail.com> and Tony Lindgren <tony@atomide.com>, and fix for versatile express from Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>. Signed-off-by: NJeremy Kerr <jeremy.kerr@canonical.com> Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com> Signed-off-by: NJason Wang <jason77.wang@gmail.com> Signed-off-by: NTony Lindgren <tony@atomide.com> Tested-by: NKevin Hilman <khilman@deeprootsystems.com>
-
- 15 10月, 2010 1 次提交
-
-
由 Arnd Bergmann 提交于
All file_operations should get a .llseek operation so we can make nonseekable_open the default for future file operations without a .llseek pointer. The three cases that we can automatically detect are no_llseek, seq_lseek and default_llseek. For cases where we can we can automatically prove that the file offset is always ignored, we use noop_llseek, which maintains the current behavior of not returning an error from a seek. New drivers should normally not use noop_llseek but instead use no_llseek and call nonseekable_open at open time. Existing drivers can be converted to do the same when the maintainer knows for certain that no user code relies on calling seek on the device file. The generated code is often incorrectly indented and right now contains comments that clarify for each added line why a specific variant was chosen. In the version that gets submitted upstream, the comments will be gone and I will manually fix the indentation, because there does not seem to be a way to do that using coccinelle. Some amount of new code is currently sitting in linux-next that should get the same modifications, which I will do at the end of the merge window. Many thanks to Julia Lawall for helping me learn to write a semantic patch that does all this. ===== begin semantic patch ===== // This adds an llseek= method to all file operations, // as a preparation for making no_llseek the default. // // The rules are // - use no_llseek explicitly if we do nonseekable_open // - use seq_lseek for sequential files // - use default_llseek if we know we access f_pos // - use noop_llseek if we know we don't access f_pos, // but we still want to allow users to call lseek // @ open1 exists @ identifier nested_open; @@ nested_open(...) { <+... nonseekable_open(...) ...+> } @ open exists@ identifier open_f; identifier i, f; identifier open1.nested_open; @@ int open_f(struct inode *i, struct file *f) { <+... ( nonseekable_open(...) | nested_open(...) ) ...+> } @ read disable optional_qualifier exists @ identifier read_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; expression E; identifier func; @@ ssize_t read_f(struct file *f, char *p, size_t s, loff_t *off) { <+... ( *off = E | *off += E | func(..., off, ...) | E = *off ) ...+> } @ read_no_fpos disable optional_qualifier exists @ identifier read_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; @@ ssize_t read_f(struct file *f, char *p, size_t s, loff_t *off) { ... when != off } @ write @ identifier write_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; expression E; identifier func; @@ ssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off) { <+... ( *off = E | *off += E | func(..., off, ...) | E = *off ) ...+> } @ write_no_fpos @ identifier write_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; @@ ssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off) { ... when != off } @ fops0 @ identifier fops; @@ struct file_operations fops = { ... }; @ has_llseek depends on fops0 @ identifier fops0.fops; identifier llseek_f; @@ struct file_operations fops = { ... .llseek = llseek_f, ... }; @ has_read depends on fops0 @ identifier fops0.fops; identifier read_f; @@ struct file_operations fops = { ... .read = read_f, ... }; @ has_write depends on fops0 @ identifier fops0.fops; identifier write_f; @@ struct file_operations fops = { ... .write = write_f, ... }; @ has_open depends on fops0 @ identifier fops0.fops; identifier open_f; @@ struct file_operations fops = { ... .open = open_f, ... }; // use no_llseek if we call nonseekable_open //////////////////////////////////////////// @ nonseekable1 depends on !has_llseek && has_open @ identifier fops0.fops; identifier nso ~= "nonseekable_open"; @@ struct file_operations fops = { ... .open = nso, ... +.llseek = no_llseek, /* nonseekable */ }; @ nonseekable2 depends on !has_llseek @ identifier fops0.fops; identifier open.open_f; @@ struct file_operations fops = { ... .open = open_f, ... +.llseek = no_llseek, /* open uses nonseekable */ }; // use seq_lseek for sequential files ///////////////////////////////////// @ seq depends on !has_llseek @ identifier fops0.fops; identifier sr ~= "seq_read"; @@ struct file_operations fops = { ... .read = sr, ... +.llseek = seq_lseek, /* we have seq_read */ }; // use default_llseek if there is a readdir /////////////////////////////////////////// @ fops1 depends on !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier readdir_e; @@ // any other fop is used that changes pos struct file_operations fops = { ... .readdir = readdir_e, ... +.llseek = default_llseek, /* readdir is present */ }; // use default_llseek if at least one of read/write touches f_pos ///////////////////////////////////////////////////////////////// @ fops2 depends on !fops1 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier read.read_f; @@ // read fops use offset struct file_operations fops = { ... .read = read_f, ... +.llseek = default_llseek, /* read accesses f_pos */ }; @ fops3 depends on !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier write.write_f; @@ // write fops use offset struct file_operations fops = { ... .write = write_f, ... + .llseek = default_llseek, /* write accesses f_pos */ }; // Use noop_llseek if neither read nor write accesses f_pos /////////////////////////////////////////////////////////// @ fops4 depends on !fops1 && !fops2 && !fops3 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier read_no_fpos.read_f; identifier write_no_fpos.write_f; @@ // write fops use offset struct file_operations fops = { ... .write = write_f, .read = read_f, ... +.llseek = noop_llseek, /* read and write both use no f_pos */ }; @ depends on has_write && !has_read && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier write_no_fpos.write_f; @@ struct file_operations fops = { ... .write = write_f, ... +.llseek = noop_llseek, /* write uses no f_pos */ }; @ depends on has_read && !has_write && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier read_no_fpos.read_f; @@ struct file_operations fops = { ... .read = read_f, ... +.llseek = noop_llseek, /* read uses no f_pos */ }; @ depends on !has_read && !has_write && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; @@ struct file_operations fops = { ... +.llseek = noop_llseek, /* no read or write fn */ }; ===== End semantic patch ===== Signed-off-by: NArnd Bergmann <arnd@arndb.de> Cc: Julia Lawall <julia@diku.dk> Cc: Christoph Hellwig <hch@infradead.org>
-
- 12 10月, 2010 2 次提交
-
-
Add msm_smd device in the qsd8x50 board file. Signed-off-by: NNiranjana Vishwanathapura <nvishwan@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
Add msm_smd device in the msm7x30 board file. Signed-off-by: NNiranjana Vishwanathapura <nvishwan@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
- 09 10月, 2010 20 次提交
-
-
由 Stepan Moskovchenko 提交于
Add the platform data for the IOMMUs found on the Qualcomm msm8x60 SoC. Signed-off-by: NStepan Moskovchenko <stepanm@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Stepan Moskovchenko 提交于
Register a driver for the MSM IOMMU devices and a driver for the translation context devices. Set up the global IOMMU registers and initialize the context banks. Signed-off-by: NStepan Moskovchenko <stepanm@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Stepan Moskovchenko 提交于
Add support for the IOMMUs found on the upcoming Qualcomm MSM8x60 chips. These IOMMUs allow virtualization of the address space used by most of the multimedia cores on these chips. Signed-off-by: NStepan Moskovchenko <stepanm@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Gregory Bean 提交于
The MSM8X60 FFA contains different components than the MSM8X60 SURF, and therefore requires a different ARCH type and machine ID. Signed-off-by: NGregory Bean <gbean@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Steve Muckle 提交于
Board configuration for MSM8X60 simulation. Signed-off-by: NSteve Muckle <smuckle@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Steve Muckle 提交于
Signed-off-by: NSteve Muckle <smuckle@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Jeff Ohlstein 提交于
The MSM8x60 has a different physical memory offset than other targets. Signed-off-by: NJeff Ohlstein <johlstei@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Abhijeet Dharmapurikar 提交于
Private Peripheral interrupts could be edge triggered or level triggered depending on the platform. Initialize handlers for these in board file. Signed-off-by: NAbhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Jeff Ohlstein 提交于
Signed-off-by: NJeff Ohlstein <johlstei@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Daniel Walker 提交于
Some MSM targets don't select the debug UART in this way. For those we need to disable this selection mechanism. Signed-off-by: NDaniel Walker <dwalker@codeaurora.org> Signed-off-by: NJeff Ohlstein <johlstei@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Daniel Walker 提交于
Signed-off-by: NDaniel Walker <dwalker@codeaurora.org> Signed-off-by: NJeff Ohlstein <johlstei@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Jeff Ohlstein 提交于
Need to add this until real clock support for 8x60 goes in, or else some drivers won't compile. Signed-off-by: NJeff Ohlstein <johlstei@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Steve Muckle 提交于
On RUMI platform STIs are not enabled by default, contrary to the GIC spec. The bits for STIs in the enable/enable clear registers are also RW instead of RO. STIs need to be enabled at initialization time. Signed-off-by: NSteve Muckle <smuckle@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Steve Muckle 提交于
The existing MSM irq entry macro is specific to a VIC implementation. Renaming this makes room for irq support based on other interrupt controllers. Signed-off-by: NSteve Muckle <smuckle@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Steve Muckle 提交于
Board configuration for MSM8X60 emulation on RUMI3. Signed-off-by: NSteve Muckle <smuckle@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Jeff Ohlstein 提交于
Signed-off-by: NJeff Ohlstein <johlstei@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Abhijeet Dharmapurikar 提交于
Define the interrupt map in irq-8x60.h Signed-off-by: NAbhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Steve Muckle 提交于
IRQ assignments are different for MSM8X60 than other existing MSMs. Signed-off-by: NSteve Muckle <smuckle@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Steve Muckle 提交于
MSM8X60 has different IO mappings than previous MSMs. Signed-off-by: NSteve Muckle <smuckle@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Steve Muckle 提交于
Some builds may not support the proc-comm interface with the baseband processor. Signed-off-by: NSteve Muckle <smuckle@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
- 07 10月, 2010 8 次提交
-
-
由 Gregory Bean 提交于
Configure the smc91x ethernet chip on the qsd8x50 SURF. Signed-off-by: NGregory Bean <gbean@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Gregory Bean 提交于
Add gpiomux get and put calls to msmgpio request and free, in order to allow gpio lines to be properly reference-counted and power-managed. Signed-off-by: NGregory Bean <gbean@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Gregory Bean 提交于
Install a gpiolib driver supporting the on-chip gpios for single-core MSMs in the 7x00 family, including 7x00A, 7x25, 7x27, 7x30, 8x50, and 8x50a. As part of the ongoing effort to converge on a common code base, this driver is based on the Google-Android msmgpio driver, whose authors include Brian Swetland and Arve Hjønnevåg. Cc: Arve Hjønnevåg <arve@android.com> Cc: H Hartley Sweeten <hartleys@visionengravers.com> Cc: Ryan Mallon <ryan@bluewatersys.com> Cc: Ben Dooks <ben-linux@fluff.org> Signed-off-by: NGregory Bean <gbean@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Gregory Bean 提交于
Featurize gpiomux so that systems like 7x00 which do not wish to use it do not have to be saddled with the configuration tables. Signed-off-by: NGregory Bean <gbean@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Gregory Bean 提交于
Now that all supported gpio_tlmm_config-using boards are using gpiomux, remove the deprecated code. Signed-off-by: NGregory Bean <gbean@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Gregory Bean 提交于
Change deprecated gpio_tlmm_config calls to gpiomux calls. Signed-off-by: NGregory Bean <gbean@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Gregory Bean 提交于
Change the gpio-init code from deprecated gpio_tlmm_config to the new gpiomux api. Signed-off-by: NGregory Bean <gbean@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Gregory Bean 提交于
Add the 'gpiomux' api, which addresses the following shortcomings of existing tlmm api: - gpio power-collapse, which is managed by a peripheral processor on other targets, must be managed by the application processor on the 8x60. - The enable/disable flag of the legacy gpio_tlmm_config api is not applicable on the 8x60, and causes confusion. - The gpio 'direction' bits are meaningless for all func_sel configurations except for generic-gpio mode (func_sel 0), in which case the gpio_direction_* functions should be used. Having these bits in the tlmm api leads to confusion and misuse of the gpiolib api, and they have been removed in gpiomux. - The functional api of the legacy system ran contrary to the typical use-case, which is a single massive configuration at boot. Rather than forcing hundreds of 'config' function calls, the new api allows data to be configured with a single table. gpiomux_get and gpiomux_put are meant to be called automatically when gpio_request and gpio_free are called, giving automatic gpiomux/tlmm control to those drivers/lines with simple power profiles - in the simplest cases, an entry in the gpiomux table and the correct usage of gpiolib is all that is required to get proper gpio power control. Signed-off-by: NGregory Bean <gbean@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
- 02 10月, 2010 1 次提交
-
-
由 Nicolas Pitre 提交于
VMALLOC_END is supposed to be an absolute value, while PAGE_OFFSET may vary depending on the selected user:kernel memory split mode through CONFIG_VMSPLIT_*. In fact, the goal of moving PAGE_OFFSET down is to accommodate more directly addressed RAM by the kernel below the vmalloc area, and having VMALLOC_END move along PAGE_OFFSET is rather against the very reason why PAGE_OFFSET can be moved in the first place. Signed-off-by: NNicolas Pitre <nicolas.pitre@linaro.org>
-
- 10 8月, 2010 3 次提交
-
-
由 Sahitya Tummala 提交于
Rename mmc_platform_data to msm_mmc_platform_data as it is used only by MSM platform. Signed-off-by: NSahitya Tummala <stummala@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Sahitya Tummala 提交于
Add msm_add_sdcc() prototype to mach/board.h to fix the checkpatch warning. Signed-off-by: NSahitya Tummala <stummala@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
由 Gregory Bean 提交于
Repair a section mismatch between the smd driver's platform_driver structure and its probe method. Signed-off-by: NGregory Bean <gbean@codeaurora.org> Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
-
- 16 7月, 2010 1 次提交
-
-
由 Russell King 提交于
Everything should now be using sparsemem rather than discontigmem, so remove the code supporting discontigmem from ARM. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-