Commit 5046e385 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge branch 'v3.8-samsung-fixes-3' of...

Merge branch 'v3.8-samsung-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes

From Kukjin Kim:

That branch fixes build error for S3C24XX/S3C64xx. And corrects dw-mshc
properties on EXYNOS5 DT and fixes IRQ mapping on Cragganmore board.

* 'v3.8-samsung-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung

:
  ARM: S3C64XX: Fix up IRQ mapping for balblair on Cragganmore
  ARM: dts: correct the dw-mshc timing properties as per binding
  ARM: S3C64XX: Fix build error with CONFIG_S3C_DEV_FB disabled
  + Linux 3.8-rc3

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents a73b59c5 b86dc0d8
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -116,7 +116,7 @@ my_suspend (struct pci_dev * pci_dev,
	return 0; /* a negative value on error, 0 on success. */
}

static void __devexit
static void
my_remove               (struct pci_dev *               pci_dev)
{
	my_device *my = pci_get_drvdata (pci_dev);
@@ -124,7 +124,7 @@ my_remove (struct pci_dev * pci_dev)
	/* Describe me. */
}

static int __devinit
static int
my_probe                (struct pci_dev *               pci_dev,
			 const struct pci_device_id *   pci_id)
{
@@ -157,7 +157,7 @@ my_pci_driver = {
	.id_table = my_pci_device_ids,

	.probe    = my_probe,
	.remove   = __devexit_p (my_remove),
	.remove   = my_remove,

	/* Power management functions. */
	.suspend  = my_suspend,
+3 −3
Original line number Diff line number Diff line
@@ -76,7 +76,7 @@ To notify SR-IOV core of Virtual Function Migration:

Following piece of code illustrates the usage of the SR-IOV API.

static int __devinit dev_probe(struct pci_dev *dev, const struct pci_device_id *id)
static int dev_probe(struct pci_dev *dev, const struct pci_device_id *id)
{
	pci_enable_sriov(dev, NR_VIRTFN);

@@ -85,7 +85,7 @@ static int __devinit dev_probe(struct pci_dev *dev, const struct pci_device_id *
	return 0;
}

static void __devexit dev_remove(struct pci_dev *dev)
static void dev_remove(struct pci_dev *dev)
{
	pci_disable_sriov(dev);

@@ -131,7 +131,7 @@ static struct pci_driver dev_driver = {
	.name =		"SR-IOV Physical Function driver",
	.id_table =	dev_id_table,
	.probe =	dev_probe,
	.remove =	__devexit_p(dev_remove),
	.remove =	dev_remove,
	.suspend =	dev_suspend,
	.resume =	dev_resume,
	.shutdown =	dev_shutdown,
+0 −20
Original line number Diff line number Diff line
@@ -183,12 +183,6 @@ Please mark the initialization and cleanup functions where appropriate
			initializes.
	__exit		Exit code. Ignored for non-modular drivers.


	__devinit	Device initialization code.
			Identical to __init if the kernel is not compiled
			with CONFIG_HOTPLUG, normal function otherwise.
	__devexit	The same for __exit.

Tips on when/where to use the above attributes:
	o The module_init()/module_exit() functions (and all
	  initialization functions called _only_ from these)
@@ -196,20 +190,6 @@ Tips on when/where to use the above attributes:

	o Do not mark the struct pci_driver.

	o The ID table array should be marked __devinitconst; this is done
	  automatically if the table is declared with DEFINE_PCI_DEVICE_TABLE().

	o The probe() and remove() functions should be marked __devinit
	  and __devexit respectively.  All initialization functions
	  exclusively called by the probe() routine, can be marked __devinit.
	  Ditto for remove() and __devexit.

	o If mydriver_remove() is marked with __devexit(), then all address
	  references to mydriver_remove must use __devexit_p(mydriver_remove)
	  (in the struct pci_driver declaration for example).
	  __devexit_p() will generate the function name _or_ NULL if the
	  function will be discarded.  For an example, see drivers/net/tg3.c.

	o Do NOT mark a function if you are not sure which mark to use.
	  Better to not mark the function than mark the function wrong.

+1 −1
Original line number Diff line number Diff line
@@ -185,7 +185,7 @@ input driver:
			.acpi_match_table  ACPI_PTR(mpu3050_acpi_match),
		},
		.probe		= mpu3050_probe,
		.remove		= __devexit_p(mpu3050_remove),
		.remove		= mpu3050_remove,
		.id_table	= mpu3050_ids,
	};

+47 −0
Original line number Diff line number Diff line
CSR SiRFprimaII pinmux controller

Required properties:
- compatible	: "sirf,prima2-pinctrl"
- reg		: Address range of the pinctrl registers
- interrupts    : Interrupts used by every GPIO group
- gpio-controller : Indicates this device is a GPIO controller
- interrupt-controller  : Marks the device node as an interrupt controller
Optional properties:
- sirf,pullups : if n-th bit of m-th bank is set, set a pullup on GPIO-n of bank m
- sirf,pulldowns : if n-th bit of m-th bank is set, set a pulldown on GPIO-n of bank m

Please refer to pinctrl-bindings.txt in this directory for details of the common
pinctrl bindings used by client devices.

SiRFprimaII's pinmux nodes act as a container for an abitrary number of subnodes.
Each of these subnodes represents some desired configuration for a group of pins.

Required subnode-properties:
- sirf,pins : An array of strings. Each string contains the name of a group.
- sirf,function: A string containing the name of the function to mux to the
  group.

  Valid values for group and function names can be found from looking at the
  group and function arrays in driver files:
  drivers/pinctrl/pinctrl-sirf.c

For example, pinctrl might have subnodes like the following:
 uart2_pins_a: uart2@0 {
         uart {
                 sirf,pins = "uart2grp";
                 sirf,function = "uart2";
         };
 };
 uart2_noflow_pins_a: uart2@1 {
         uart {
                 sirf,pins = "uart2_nostreamctrlgrp";
                 sirf,function = "uart2_nostreamctrl";
         };
 };

For a specific board, if it wants to use uart2 without hardware flow control,
it can add the following to its board-specific .dts file.
uart2: uart@0xb0070000 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart2_noflow_pins_a>;
}
Loading