瀏覽代碼

pata-rb532-cf: drop custom freeze and thaw

I'm not quite sure what freezing and thawing is used for. Tests showed
that the port is being frozen at initialisation state and thawed right
afterwards, then the functions were not called anymore. Dropping the
complete custom code for handling the frozen state seems to work at
least for a standard use case including mounting a partition, copying
some files in it (in parallel) and finally removing them and unmounting
the partition.

Signed-off-by: Phil Sutter <n0-1@freewrt.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Phil Sutter 16 年之前
父節點
當前提交
6be976e79d
共有 1 個文件被更改,包括 1 次插入19 次删除
  1. 1 19
      drivers/ata/pata_rb532_cf.c

+ 1 - 19
drivers/ata/pata_rb532_cf.c

@@ -48,26 +48,11 @@
 struct rb532_cf_info {
 struct rb532_cf_info {
 	void __iomem	*iobase;
 	void __iomem	*iobase;
 	unsigned int	gpio_line;
 	unsigned int	gpio_line;
-	int		frozen;
 	unsigned int	irq;
 	unsigned int	irq;
 };
 };
 
 
 /* ------------------------------------------------------------------------ */
 /* ------------------------------------------------------------------------ */
 
 
-static void rb532_pata_freeze(struct ata_port *ap)
-{
-	struct rb532_cf_info *info = ap->host->private_data;
-
-	info->frozen = 1;
-}
-
-static void rb532_pata_thaw(struct ata_port *ap)
-{
-	struct rb532_cf_info *info = ap->host->private_data;
-
-	info->frozen = 0;
-}
-
 static irqreturn_t rb532_pata_irq_handler(int irq, void *dev_instance)
 static irqreturn_t rb532_pata_irq_handler(int irq, void *dev_instance)
 {
 {
 	struct ata_host *ah = dev_instance;
 	struct ata_host *ah = dev_instance;
@@ -75,8 +60,7 @@ static irqreturn_t rb532_pata_irq_handler(int irq, void *dev_instance)
 
 
 	if (gpio_get_value(info->gpio_line)) {
 	if (gpio_get_value(info->gpio_line)) {
 		set_irq_type(info->irq, IRQ_TYPE_LEVEL_LOW);
 		set_irq_type(info->irq, IRQ_TYPE_LEVEL_LOW);
-		if (!info->frozen)
-			ata_sff_interrupt(info->irq, dev_instance);
+		ata_sff_interrupt(info->irq, dev_instance);
 	} else {
 	} else {
 		set_irq_type(info->irq, IRQ_TYPE_LEVEL_HIGH);
 		set_irq_type(info->irq, IRQ_TYPE_LEVEL_HIGH);
 	}
 	}
@@ -87,8 +71,6 @@ static irqreturn_t rb532_pata_irq_handler(int irq, void *dev_instance)
 static struct ata_port_operations rb532_pata_port_ops = {
 static struct ata_port_operations rb532_pata_port_ops = {
 	.inherits		= &ata_sff_port_ops,
 	.inherits		= &ata_sff_port_ops,
 	.sff_data_xfer		= ata_sff_data_xfer32,
 	.sff_data_xfer		= ata_sff_data_xfer32,
-	.freeze			= rb532_pata_freeze,
-	.thaw			= rb532_pata_thaw,
 };
 };
 
 
 /* ------------------------------------------------------------------------ */
 /* ------------------------------------------------------------------------ */