Commit 96933428 authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski Committed by Alexandre Belloni
Browse files

rtc: s3c: Drop support for S3C2410



Samsung S3C24xx family of SoCs was removed the Linux kernel in the
commit 61b7f892 ("ARM: s3c: remove all s3c24xx support"), in January
2023.  There are no in-kernel users of remaining S3C24xx compatibles.

Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20250830130024.142815-5-krzysztof.kozlowski@linaro.org


Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
parent d06b24f8
Loading
Loading
Loading
Loading
+2 −47
Original line number Diff line number Diff line
@@ -331,7 +331,7 @@ static const struct rtc_class_ops s3c_rtcops = {
	.alarm_irq_enable = s3c_rtc_setaie,
};

static void s3c24xx_rtc_enable(struct s3c_rtc *info)
static void s3c6410_rtc_enable(struct s3c_rtc *info)
{
	unsigned int con, tmp;

@@ -361,19 +361,6 @@ static void s3c24xx_rtc_enable(struct s3c_rtc *info)
	}
}

static void s3c24xx_rtc_disable(struct s3c_rtc *info)
{
	unsigned int con;

	con = readw(info->base + S3C2410_RTCCON);
	con &= ~S3C2410_RTCCON_RTCEN;
	writew(con, info->base + S3C2410_RTCCON);

	con = readb(info->base + S3C2410_TICNT);
	con &= ~S3C2410_TICNT_ENABLE;
	writeb(con, info->base + S3C2410_TICNT);
}

static void s3c6410_rtc_disable(struct s3c_rtc *info)
{
	unsigned int con;
@@ -538,53 +525,21 @@ static int s3c_rtc_resume(struct device *dev)
#endif
static SIMPLE_DEV_PM_OPS(s3c_rtc_pm_ops, s3c_rtc_suspend, s3c_rtc_resume);

static void s3c24xx_rtc_irq(struct s3c_rtc *info, int mask)
{
	rtc_update_irq(info->rtc, 1, RTC_AF | RTC_IRQF);
}

static void s3c6410_rtc_irq(struct s3c_rtc *info, int mask)
{
	rtc_update_irq(info->rtc, 1, RTC_AF | RTC_IRQF);
	writeb(mask, info->base + S3C2410_INTP);
}

static const struct s3c_rtc_data s3c2410_rtc_data = {
	.irq_handler		= s3c24xx_rtc_irq,
	.enable			= s3c24xx_rtc_enable,
	.disable		= s3c24xx_rtc_disable,
};

static const struct s3c_rtc_data s3c2416_rtc_data = {
	.irq_handler		= s3c24xx_rtc_irq,
	.enable			= s3c24xx_rtc_enable,
	.disable		= s3c24xx_rtc_disable,
};

static const struct s3c_rtc_data s3c2443_rtc_data = {
	.irq_handler		= s3c24xx_rtc_irq,
	.enable			= s3c24xx_rtc_enable,
	.disable		= s3c24xx_rtc_disable,
};

static const struct s3c_rtc_data s3c6410_rtc_data = {
	.needs_src_clk		= true,
	.irq_handler		= s3c6410_rtc_irq,
	.enable			= s3c24xx_rtc_enable,
	.enable			= s3c6410_rtc_enable,
	.disable		= s3c6410_rtc_disable,
};

static const __maybe_unused struct of_device_id s3c_rtc_dt_match[] = {
	{
		.compatible = "samsung,s3c2410-rtc",
		.data = &s3c2410_rtc_data,
	}, {
		.compatible = "samsung,s3c2416-rtc",
		.data = &s3c2416_rtc_data,
	}, {
		.compatible = "samsung,s3c2443-rtc",
		.data = &s3c2443_rtc_data,
	}, {
		.compatible = "samsung,s3c6410-rtc",
		.data = &s3c6410_rtc_data,
	}, {
+0 −3
Original line number Diff line number Diff line
@@ -21,9 +21,6 @@
#define S3C2443_RTCCON_TICSEL	(1 << 4)
#define S3C64XX_RTCCON_TICEN	(1 << 8)

#define S3C2410_TICNT		S3C2410_RTCREG(0x44)
#define S3C2410_TICNT_ENABLE	(1 << 7)

#define S3C2410_RTCALM		S3C2410_RTCREG(0x50)
#define S3C2410_RTCALM_ALMEN	(1 << 6)
#define S3C2410_RTCALM_YEAREN	(1 << 5)