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

Commit 2ce30137 authored by Banajit Goswami's avatar Banajit Goswami Committed by Kukjin Kim
Browse files

ARM: SAMSUNG: Move PWM device definition from plat-s3c24xx to plat-samsung



This patch does the following:-
1. It moves file pwm.c from plat-s3c24xx to plat-samsung. This will
   enable all machines with Samsung SoCs to make use of the same code.
2. The device definitions have been separated to a new file dev-pwm.c
   for better clarity and structure.
3. It will enable all Samsung S3C and S5P series SoC's to use common
   PWM Kconfig definition.

Signed-off-by: default avatarBanajit Goswami <banajit.g@samsung.com>
Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
parent dd9c1549
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -231,7 +231,7 @@ config MACH_HMT
	select S3C_DEV_NAND
	select S3C_DEV_USB_HOST
	select S3C64XX_SETUP_FB_24BPP
	select HAVE_PWM
	select SAMSUNG_DEV_PWM
	help
	  Machine support for the Airgoo HMT

@@ -249,8 +249,8 @@ config MACH_SMARTQ
	select S3C64XX_SETUP_SDHCI
	select S3C64XX_SETUP_FB_24BPP
	select SAMSUNG_DEV_ADC
	select SAMSUNG_DEV_PWM
	select SAMSUNG_DEV_TS
	select HAVE_PWM
	help
	    Shared machine support for SmartQ 5/7

+0 −7
Original line number Diff line number Diff line
@@ -56,13 +56,6 @@ config S3C24XX_DCLK
	help
	  Clock code for supporting DCLK/CLKOUT on S3C24XX architectures

config S3C24XX_PWM
	bool "PWM device support"
	select HAVE_PWM
	help
	  Support for exporting the PWM timer blocks via the pwm device
	  system.

# gpio configurations

config S3C24XX_GPIO_EXTRA
+13 −0
Original line number Diff line number Diff line
@@ -273,6 +273,19 @@ config SAMSUNG_DEV_KEYPAD
	help
	  Compile in platform device definitions for keypad

config SAMSUNG_DEV_PWM
	bool
	default y if ARCH_S3C2410
	help
	  Compile in platform device definition for PWM Timer

config S3C24XX_PWM
	bool "PWM device support"
	select HAVE_PWM
	help
	  Support for exporting the PWM timer blocks via the pwm device
	  system

# DMA

config S3C_DMA
+1 −0
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@ obj-$(CONFIG_SAMSUNG_DEV_ADC) += dev-adc.o
obj-$(CONFIG_SAMSUNG_DEV_IDE)	+= dev-ide.o
obj-$(CONFIG_SAMSUNG_DEV_TS)	+= dev-ts.o
obj-$(CONFIG_SAMSUNG_DEV_KEYPAD)	+= dev-keypad.o
obj-$(CONFIG_SAMSUNG_DEV_PWM)	+= dev-pwm.o

# DMA support

+53 −0
Original line number Diff line number Diff line
/* linux/arch/arm/plat-samsung/dev-pwm.c
 *
 * Copyright (c) 2011 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 *
 * Copyright (c) 2007 Ben Dooks
 * Copyright (c) 2008 Simtec Electronics
 *	Ben Dooks <ben@simtec.co.uk>, <ben-linux@fluff.org>
 *
 * S3C series device definition for the PWM timer
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

#include <linux/kernel.h>
#include <linux/platform_device.h>

#include <mach/irqs.h>

#include <plat/devs.h>

#define TIMER_RESOURCE_SIZE (1)

#define TIMER_RESOURCE(_tmr, _irq)			\
	(struct resource [TIMER_RESOURCE_SIZE]) {	\
		[0] = {					\
			.start	= _irq,			\
			.end	= _irq,			\
			.flags	= IORESOURCE_IRQ	\
		}					\
	}

#define DEFINE_S3C_TIMER(_tmr_no, _irq)			\
	.name		= "s3c24xx-pwm",		\
	.id		= _tmr_no,			\
	.num_resources	= TIMER_RESOURCE_SIZE,		\
	.resource	= TIMER_RESOURCE(_tmr_no, _irq),	\

/*
 * since we already have an static mapping for the timer,
 * we do not bother setting any IO resource for the base.
 */

struct platform_device s3c_device_timer[] = {
	[0] = { DEFINE_S3C_TIMER(0, IRQ_TIMER0) },
	[1] = { DEFINE_S3C_TIMER(1, IRQ_TIMER1) },
	[2] = { DEFINE_S3C_TIMER(2, IRQ_TIMER2) },
	[3] = { DEFINE_S3C_TIMER(3, IRQ_TIMER3) },
	[4] = { DEFINE_S3C_TIMER(4, IRQ_TIMER4) },
};
EXPORT_SYMBOL(s3c_device_timer);
Loading