lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 1 Dec 2009 14:03:10 +1100
From:	Stephen Rothwell <sfr@...b.auug.org.au>
To:	Dominik Brodowski <linux@...inikbrodowski.net>
Cc:	linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
	Dmitry Artamonow <mad_soft@...ox.ru>,
	Russell King <rmk@....linux.org.uk>
Subject: linux-next: manual merge of the pcmcia tree with the arm tree

Hi Dominik,

Today's linux-next merge of the pcmcia tree got a conflict in
drivers/pcmcia/sa1100_h3600.c between commit
6ce8f65e71f0d80ee23b543be09789dd865a99be ("ARM: 5811/1: pcmcia: convert
sa1100_h3600 driver to gpiolib") from the arm tree and commit
66024db57d5b9011e274b314affad68f370c0d6f ("PCMCIA: stop duplicating
pci_irq in soc_pcmcia_socket") from the pcmcia tree.

I fixed it up (see below) and can carry the fix as necessary.  Please
check the fix below.
-- 
Cheers,
Stephen Rothwell                    sfr@...b.auug.org.au

diff --cc drivers/pcmcia/sa1100_h3600.c
index b763cea,3a121ac..0000000
--- a/drivers/pcmcia/sa1100_h3600.c
+++ b/drivers/pcmcia/sa1100_h3600.c
@@@ -26,89 -25,11 +26,89 @@@ static struct pcmcia_irqs irqs[] = 
  
  static int h3600_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
  {
 -	skt->socket.pci_irq = skt->nr ? IRQ_GPIO_H3600_PCMCIA_IRQ1
 -				      : IRQ_GPIO_H3600_PCMCIA_IRQ0;
 +	int err;
  
 +	switch (skt->nr) {
 +	case 0:
 +		err = gpio_request(H3XXX_GPIO_PCMCIA_IRQ0, "PCMCIA IRQ0");
 +		if (err)
 +			goto err00;
 +		err = gpio_direction_input(H3XXX_GPIO_PCMCIA_IRQ0);
 +		if (err)
 +			goto err01;
- 		skt->irq = gpio_to_irq(H3XXX_GPIO_PCMCIA_IRQ0);
++		skt->socket.pci_irq = gpio_to_irq(H3XXX_GPIO_PCMCIA_IRQ0);
 +
 +		err = gpio_request(H3XXX_GPIO_PCMCIA_CD0, "PCMCIA CD0");
 +		if (err)
 +			goto err01;
 +		err = gpio_direction_input(H3XXX_GPIO_PCMCIA_CD0);
 +		if (err)
 +			goto err02;
 +		irqs[0].irq = gpio_to_irq(H3XXX_GPIO_PCMCIA_CD0);
 +
 +		err = gpio_request(H3XXX_EGPIO_OPT_NVRAM_ON, "OPT NVRAM ON");
 +		if (err)
 +			goto err02;
 +		err = gpio_direction_output(H3XXX_EGPIO_OPT_NVRAM_ON, 0);
 +		if (err)
 +			goto err03;
 +		err = gpio_request(H3XXX_EGPIO_OPT_ON, "OPT ON");
 +		if (err)
 +			goto err03;
 +		err = gpio_direction_output(H3XXX_EGPIO_OPT_ON, 0);
 +		if (err)
 +			goto err04;
 +		err = gpio_request(H3XXX_EGPIO_OPT_RESET, "OPT RESET");
 +		if (err)
 +			goto err04;
 +		err = gpio_direction_output(H3XXX_EGPIO_OPT_RESET, 0);
 +		if (err)
 +			goto err05;
 +		err = gpio_request(H3XXX_EGPIO_CARD_RESET, "PCMCIA CARD RESET");
 +		if (err)
 +			goto err05;
 +		err = gpio_direction_output(H3XXX_EGPIO_CARD_RESET, 0);
 +		if (err)
 +			goto err06;
 +		err = soc_pcmcia_request_irqs(skt, irqs, ARRAY_SIZE(irqs));
 +		if (err)
 +			goto err06;
 +		break;
 +	case 1:
 +		err = gpio_request(H3XXX_GPIO_PCMCIA_IRQ1, "PCMCIA IRQ1");
 +		if (err)
 +			goto err10;
 +		err = gpio_direction_input(H3XXX_GPIO_PCMCIA_IRQ1);
 +		if (err)
 +			goto err11;
- 		skt->irq = gpio_to_irq(H3XXX_GPIO_PCMCIA_IRQ1);
++		skt->socket.pci_irq = gpio_to_irq(H3XXX_GPIO_PCMCIA_IRQ1);
 +
 +		err = gpio_request(H3XXX_GPIO_PCMCIA_CD1, "PCMCIA CD1");
 +		if (err)
 +			goto err11;
 +		err = gpio_direction_input(H3XXX_GPIO_PCMCIA_CD1);
 +		if (err)
 +			goto err12;
 +		irqs[1].irq = gpio_to_irq(H3XXX_GPIO_PCMCIA_CD1);
 +
 +		err = soc_pcmcia_request_irqs(skt, irqs, ARRAY_SIZE(irqs));
 +		if (err)
 +			goto err12;
 +		break;
 +	}
 +	return 0;
  
 -	return soc_pcmcia_request_irqs(skt, irqs, ARRAY_SIZE(irqs));
 +err06:	gpio_free(H3XXX_EGPIO_CARD_RESET);
 +err05:	gpio_free(H3XXX_EGPIO_OPT_RESET);
 +err04:	gpio_free(H3XXX_EGPIO_OPT_ON);
 +err03:	gpio_free(H3XXX_EGPIO_OPT_NVRAM_ON);
 +err02:	gpio_free(H3XXX_GPIO_PCMCIA_CD0);
 +err01:	gpio_free(H3XXX_GPIO_PCMCIA_IRQ0);
 +err00:	return err;
 +
 +err12:	gpio_free(H3XXX_GPIO_PCMCIA_CD0);
 +err11:	gpio_free(H3XXX_GPIO_PCMCIA_IRQ0);
 +err10:	return err;
  }
  
  static void h3600_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ