Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e426f8e3 authored by Russell King's avatar Russell King
Browse files

Merge branch '3.1-fixes-for-rmk' of git://linux-arm.org/linux-2.6-wd into fixes

parents 73e0881d 72dc53ac
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ struct arm_pmu_platdata {
 * encoded error on failure.
 */
extern struct platform_device *
reserve_pmu(enum arm_pmu_type device);
reserve_pmu(enum arm_pmu_type type);

/**
 * release_pmu() - Relinquish control of the performance counters
@@ -62,26 +62,26 @@ release_pmu(enum arm_pmu_type type);
 * the actual hardware initialisation.
 */
extern int
init_pmu(enum arm_pmu_type device);
init_pmu(enum arm_pmu_type type);

#else /* CONFIG_CPU_HAS_PMU */

#include <linux/err.h>

static inline struct platform_device *
reserve_pmu(enum arm_pmu_type device)
reserve_pmu(enum arm_pmu_type type)
{
	return ERR_PTR(-ENODEV);
}

static inline int
release_pmu(struct platform_device *pdev)
release_pmu(enum arm_pmu_type type)
{
	return -ENODEV;
}

static inline int
init_pmu(enum arm_pmu_type device)
init_pmu(enum arm_pmu_type type)
{
	return -ENODEV;
}
+13 −13
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ static int __devinit pmu_register(struct platform_device *pdev,
{
	if (type < 0 || type >= ARM_NUM_PMU_DEVICES) {
		pr_warning("received registration request for unknown "
				"device %d\n", type);
				"PMU device type %d\n", type);
		return -EINVAL;
	}

@@ -112,17 +112,17 @@ static int __init register_pmu_driver(void)
device_initcall(register_pmu_driver);

struct platform_device *
reserve_pmu(enum arm_pmu_type device)
reserve_pmu(enum arm_pmu_type type)
{
	struct platform_device *pdev;

	if (test_and_set_bit_lock(device, &pmu_lock)) {
	if (test_and_set_bit_lock(type, &pmu_lock)) {
		pdev = ERR_PTR(-EBUSY);
	} else if (pmu_devices[device] == NULL) {
		clear_bit_unlock(device, &pmu_lock);
	} else if (pmu_devices[type] == NULL) {
		clear_bit_unlock(type, &pmu_lock);
		pdev = ERR_PTR(-ENODEV);
	} else {
		pdev = pmu_devices[device];
		pdev = pmu_devices[type];
	}

	return pdev;
@@ -130,11 +130,11 @@ reserve_pmu(enum arm_pmu_type device)
EXPORT_SYMBOL_GPL(reserve_pmu);

int
release_pmu(enum arm_pmu_type device)
release_pmu(enum arm_pmu_type type)
{
	if (WARN_ON(!pmu_devices[device]))
	if (WARN_ON(!pmu_devices[type]))
		return -EINVAL;
	clear_bit_unlock(device, &pmu_lock);
	clear_bit_unlock(type, &pmu_lock);
	return 0;
}
EXPORT_SYMBOL_GPL(release_pmu);
@@ -182,17 +182,17 @@ init_cpu_pmu(void)
}

int
init_pmu(enum arm_pmu_type device)
init_pmu(enum arm_pmu_type type)
{
	int err = 0;

	switch (device) {
	switch (type) {
	case ARM_PMU_DEVICE_CPU:
		err = init_cpu_pmu();
		break;
	default:
		pr_warning("attempt to initialise unknown device %d\n",
				device);
		pr_warning("attempt to initialise PMU of unknown "
			   "type %d\n", type);
		err = -EINVAL;
	}

+8 −7
Original line number Diff line number Diff line
@@ -280,18 +280,19 @@ static void __init cacheid_init(void)
	if (arch >= CPU_ARCH_ARMv6) {
		if ((cachetype & (7 << 29)) == 4 << 29) {
			/* ARMv7 register format */
			arch = CPU_ARCH_ARMv7;
			cacheid = CACHEID_VIPT_NONALIASING;
			if ((cachetype & (3 << 14)) == 1 << 14)
				cacheid |= CACHEID_ASID_TAGGED;
			else if (cpu_has_aliasing_icache(CPU_ARCH_ARMv7))
				cacheid |= CACHEID_VIPT_I_ALIASING;
		} else if (cachetype & (1 << 23)) {
			cacheid = CACHEID_VIPT_ALIASING;
		} else {
			arch = CPU_ARCH_ARMv6;
			if (cachetype & (1 << 23))
				cacheid = CACHEID_VIPT_ALIASING;
			else
				cacheid = CACHEID_VIPT_NONALIASING;
			if (cpu_has_aliasing_icache(CPU_ARCH_ARMv6))
				cacheid |= CACHEID_VIPT_I_ALIASING;
		}
		if (cpu_has_aliasing_icache(arch))
			cacheid |= CACHEID_VIPT_I_ALIASING;
	} else {
		cacheid = CACHEID_VIVT;
	}
+2 −2
Original line number Diff line number Diff line
@@ -137,8 +137,8 @@ void __cpuinit twd_timer_setup(struct clock_event_device *clk)
	clk->max_delta_ns = clockevent_delta2ns(0xffffffff, clk);
	clk->min_delta_ns = clockevent_delta2ns(0xf, clk);

	clockevents_register_device(clk);

	/* Make sure our local interrupt controller has this enabled */
	gic_enable_ppi(clk->irq);

	clockevents_register_device(clk);
}
+1 −0
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ static inline void arch_reset(char mode, const char *cmd)
	 */
	if (realview_reset)
		realview_reset(mode);
	dsb();
}

#endif
Loading