瀏覽代碼

serial: sh-sci: Remove platform data scbrr_algo_id field

The field isn't set by any board, remote it.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Laurent Pinchart 11 年之前
父節點
當前提交
878fbb9139
共有 2 個文件被更改,包括 5 次插入31 次删除
  1. 5 21
      drivers/tty/serial/sh-sci.c
  2. 0 10
      include/linux/serial_sci.h

+ 5 - 21
drivers/tty/serial/sh-sci.c

@@ -1757,17 +1757,6 @@ static unsigned int sci_scbrr_calc(struct sci_port *s, unsigned int bps,
 	if (s->sampling_rate)
 	if (s->sampling_rate)
 		return DIV_ROUND_CLOSEST(freq, s->sampling_rate * bps) - 1;
 		return DIV_ROUND_CLOSEST(freq, s->sampling_rate * bps) - 1;
 
 
-	switch (s->cfg->scbrr_algo_id) {
-	case SCBRR_ALGO_1:
-		return freq / (16 * bps);
-	case SCBRR_ALGO_2:
-		return DIV_ROUND_CLOSEST(freq, 32 * bps) - 1;
-	case SCBRR_ALGO_3:
-		return freq / (8 * bps);
-	case SCBRR_ALGO_4:
-		return DIV_ROUND_CLOSEST(freq, 16 * bps) - 1;
-	}
-
 	/* Warn, but use a safe default */
 	/* Warn, but use a safe default */
 	WARN_ON(1);
 	WARN_ON(1);
 
 
@@ -2176,17 +2165,12 @@ static int sci_init_single(struct platform_device *dev,
 		break;
 		break;
 	}
 	}
 
 
-	/* Set the sampling rate if the baud rate calculation algorithm isn't
-	 * specified.
+	/* SCIFA on sh7723 and sh7724 need a custom sampling rate that doesn't
+	 * match the SoC datasheet, this should be investigated. Let platform
+	 * data override the sampling rate for now.
 	 */
 	 */
-	if (p->scbrr_algo_id == SCBRR_ALGO_NONE) {
-		/* SCIFA on sh7723 and sh7724 need a custom sampling rate that
-		 * doesn't match the SoC datasheet, this should be investigated.
-		 * Let platform data override the sampling rate for now.
-		 */
-		sci_port->sampling_rate = p->sampling_rate ? p->sampling_rate
-					: sampling_rate;
-	}
+	sci_port->sampling_rate = p->sampling_rate ? p->sampling_rate
+				: sampling_rate;
 
 
 	if (!early) {
 	if (!early) {
 		sci_port->iclk = clk_get(&dev->dev, "sci_ick");
 		sci_port->iclk = clk_get(&dev->dev, "sci_ick");

+ 0 - 10
include/linux/serial_sci.h

@@ -10,15 +10,6 @@
 
 
 #define SCIx_NOT_SUPPORTED	(-1)
 #define SCIx_NOT_SUPPORTED	(-1)
 
 
-enum {
-	SCBRR_ALGO_NONE,	/* Compute sampling rate in the driver */
-	SCBRR_ALGO_1,		/* clk / (16 * bps) */
-	SCBRR_ALGO_2,		/* DIV_ROUND_CLOSEST(clk, 32 * bps) - 1 */
-	SCBRR_ALGO_3,		/* clk / (8 * bps) */
-	SCBRR_ALGO_4,		/* DIV_ROUND_CLOSEST(clk, 16 * bps) - 1 */
-	SCBRR_ALGO_6,		/* HSCIF variable sample rate algorithm */
-};
-
 #define SCSCR_TIE	(1 << 7)
 #define SCSCR_TIE	(1 << 7)
 #define SCSCR_RIE	(1 << 6)
 #define SCSCR_RIE	(1 << 6)
 #define SCSCR_TE	(1 << 5)
 #define SCSCR_TE	(1 << 5)
@@ -136,7 +127,6 @@ struct plat_sci_port {
 	unsigned long	capabilities;		/* Port features/capabilities */
 	unsigned long	capabilities;		/* Port features/capabilities */
 
 
 	unsigned int	sampling_rate;
 	unsigned int	sampling_rate;
-	unsigned int	scbrr_algo_id;		/* SCBRR calculation algo */
 	unsigned int	scscr;			/* SCSCR initialization */
 	unsigned int	scscr;			/* SCSCR initialization */
 
 
 	/*
 	/*