Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fb20871a authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (342 commits)
  Staging: comedi: fix build errors
  Staging: udlfb: update to version 0.2.3
  Staging: udlfb: fix some sparse warnings.
  Staging: udlfb: clean up checkpatch warnings in udlfb.c
  Staging: udlfb: clean up checkpatch warnings in udlfb.h
  Staging: udlfb: add udlfb driver to build
  Staging: add udlfb driver
  Staging: pata_rdc: remove pointless comments
  Staging: pata_rdc: remove DRIVER macros
  Staging: pata_rdc: remove dbgprintf macro
  Staging: pata_rdc: remove broken flag
  Staging: pata_rdc: fix build warnings
  Staging: pata_rdc: use PCI_DEVICE
  Staging: pata_rdc: remove function prototypes
  Staging: pata_rdc: coding style fixes
  Staging: pata_rdc: convert code to work in 2.6.29
  Staging: pata_rdc: add driver to the build system
  Staging: add pata_rdc driver
  Staging: remove obsolete serqt_usb driver
  Staging: serqt_usb2 add the driver to the build
  ...
parents bee89ab2 c7a5d707
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -5479,6 +5479,7 @@ STAGING SUBSYSTEM
P:	Greg Kroah-Hartman
P:	Greg Kroah-Hartman
M:	gregkh@suse.de
M:	gregkh@suse.de
T:	quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/
T:	quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/
L:	devel@driverdev.osuosl.org
S:	Maintained
S:	Maintained
F:	drivers/staging/
F:	drivers/staging/


+12 −2
Original line number Original line Diff line number Diff line
@@ -85,6 +85,8 @@ source "drivers/staging/altpciechdma/Kconfig"


source "drivers/staging/rtl8187se/Kconfig"
source "drivers/staging/rtl8187se/Kconfig"


source "drivers/staging/rtl8192su/Kconfig"

source "drivers/staging/rspiusb/Kconfig"
source "drivers/staging/rspiusb/Kconfig"


source "drivers/staging/mimio/Kconfig"
source "drivers/staging/mimio/Kconfig"
@@ -113,11 +115,19 @@ source "drivers/staging/heci/Kconfig"


source "drivers/staging/line6/Kconfig"
source "drivers/staging/line6/Kconfig"


source "drivers/staging/serqt_usb/Kconfig"

source "drivers/gpu/drm/radeon/Kconfig"
source "drivers/gpu/drm/radeon/Kconfig"


source "drivers/staging/octeon/Kconfig"
source "drivers/staging/octeon/Kconfig"


source "drivers/staging/serqt_usb2/Kconfig"

source "drivers/staging/vt6655/Kconfig"

source "drivers/staging/cpc-usb/Kconfig"

source "drivers/staging/pata_rdc/Kconfig"

source "drivers/staging/udlfb/Kconfig"

endif # !STAGING_EXCLUDE_BUILD
endif # !STAGING_EXCLUDE_BUILD
endif # STAGING
endif # STAGING
+6 −1
Original line number Original line Diff line number Diff line
@@ -25,6 +25,7 @@ obj-$(CONFIG_ASUS_OLED) += asus_oled/
obj-$(CONFIG_PANEL)		+= panel/
obj-$(CONFIG_PANEL)		+= panel/
obj-$(CONFIG_ALTERA_PCIE_CHDMA)	+= altpciechdma/
obj-$(CONFIG_ALTERA_PCIE_CHDMA)	+= altpciechdma/
obj-$(CONFIG_RTL8187SE)		+= rtl8187se/
obj-$(CONFIG_RTL8187SE)		+= rtl8187se/
obj-$(CONFIG_RTL8192SU)		+= rtl8192su/
obj-$(CONFIG_USB_RSPI)		+= rspiusb/
obj-$(CONFIG_USB_RSPI)		+= rspiusb/
obj-$(CONFIG_INPUT_MIMIO)	+= mimio/
obj-$(CONFIG_INPUT_MIMIO)	+= mimio/
obj-$(CONFIG_TRANZPORT)		+= frontier/
obj-$(CONFIG_TRANZPORT)		+= frontier/
@@ -39,5 +40,9 @@ obj-$(CONFIG_IDE_PHISON) += phison/
obj-$(CONFIG_PLAN9AUTH)		+= p9auth/
obj-$(CONFIG_PLAN9AUTH)		+= p9auth/
obj-$(CONFIG_HECI)		+= heci/
obj-$(CONFIG_HECI)		+= heci/
obj-$(CONFIG_LINE6_USB)		+= line6/
obj-$(CONFIG_LINE6_USB)		+= line6/
obj-$(CONFIG_USB_SERIAL_QUATECH_ESU100)	+= serqt_usb/
obj-$(CONFIG_USB_SERIAL_QUATECH2)	+= serqt_usb2/
obj-$(CONFIG_OCTEON_ETHERNET)	+= octeon/
obj-$(CONFIG_OCTEON_ETHERNET)	+= octeon/
obj-$(CONFIG_VT6655)		+= vt6655/
obj-$(CONFIG_USB_CPC)		+= cpc-usb/
obj-$(CONFIG_RDC_17F3101X)	+= pata_rdc/
obj-$(CONFIG_FB_UDL)		+= udlfb/
+4 −5
Original line number Original line Diff line number Diff line
@@ -312,7 +312,6 @@ static inline void dump_ieee80211_hdr(struct ieee80211_hdr *hdr, char *tag)
{
{
	u16 fctl;
	u16 fctl;
	int hdrlen;
	int hdrlen;
	DECLARE_MAC_BUF(mac);


	fctl = le16_to_cpu(hdr->frame_control);
	fctl = le16_to_cpu(hdr->frame_control);
	switch (fctl & IEEE80211_FCTL_FTYPE) {
	switch (fctl & IEEE80211_FCTL_FTYPE) {
@@ -375,13 +374,13 @@ static inline void dump_ieee80211_hdr(struct ieee80211_hdr *hdr, char *tag)
		printk("FC=0x%04x DUR=0x%04x",
		printk("FC=0x%04x DUR=0x%04x",
		       fctl, le16_to_cpu(hdr->duration_id));
		       fctl, le16_to_cpu(hdr->duration_id));
	if (hdrlen >= 10)
	if (hdrlen >= 10)
		printk(" A1=%s", print_mac(mac, hdr->addr1));
		printk(" A1=%pM", hdr->addr1);
	if (hdrlen >= 16)
	if (hdrlen >= 16)
		printk(" A2=%s", print_mac(mac, hdr->addr2));
		printk(" A2=%pM", hdr->addr2);
	if (hdrlen >= 24)
	if (hdrlen >= 24)
		printk(" A3=%s", print_mac(mac, hdr->addr3));
		printk(" A3=%pM", hdr->addr3);
	if (hdrlen >= 30)
	if (hdrlen >= 30)
		printk(" A4=%s", print_mac(mac, hdr->addr4));
		printk(" A4=%pM", hdr->addr4);
	printk("\n");
	printk("\n");
}
}


+23 −34
Original line number Original line Diff line number Diff line
@@ -58,15 +58,17 @@ static inline void agnx_interrupt_ack(struct agnx_priv *priv, u32 *reason)
			*reason |= AGNX_STAT_TXM;
			*reason |= AGNX_STAT_TXM;
		}
		}
	}
	}
/*	if (*reason & AGNX_STAT_X) {
#if 0
	if (*reason & AGNX_STAT_X) {
		reg = ioread32(ctl + AGNX_INT_STAT);
		reg = ioread32(ctl + AGNX_INT_STAT);
		iowrite32(reg, ctl + AGNX_INT_STAT);
		iowrite32(reg, ctl + AGNX_INT_STAT);
		/* FIXME reinit interrupt mask *\/
		/* FIXME reinit interrupt mask */
		reg = 0xc390bf9 & ~IRQ_TX_BEACON;
		reg = 0xc390bf9 & ~IRQ_TX_BEACON;
		reg &= ~IRQ_TX_DISABLE;
		reg &= ~IRQ_TX_DISABLE;
		iowrite32(reg, ctl + AGNX_INT_MASK);
		iowrite32(reg, ctl + AGNX_INT_MASK);
		iowrite32(0x800, ctl + AGNX_CIR_BLKCTL);
		iowrite32(0x800, ctl + AGNX_CIR_BLKCTL);
	} */
	}
#endif
} /* agnx_interrupt_ack */
} /* agnx_interrupt_ack */


static irqreturn_t agnx_interrupt_handler(int irq, void *dev_id)
static irqreturn_t agnx_interrupt_handler(int irq, void *dev_id)
@@ -150,8 +152,7 @@ static int agnx_get_mac_address(struct agnx_priv *priv)
	*((u32 *)(priv->mac_addr + 2)) = cpu_to_le32(reg);
	*((u32 *)(priv->mac_addr + 2)) = cpu_to_le32(reg);


	if (!is_valid_ether_addr(priv->mac_addr)) {
	if (!is_valid_ether_addr(priv->mac_addr)) {
		DECLARE_MAC_BUF(mbuf);
		printk(KERN_WARNING PFX "read mac %pM\n", priv->mac_addr);
		printk(KERN_WARNING PFX "read mac %s\n", print_mac(mbuf, priv->mac_addr));
		printk(KERN_WARNING PFX "Invalid hwaddr! Using random hwaddr\n");
		printk(KERN_WARNING PFX "Invalid hwaddr! Using random hwaddr\n");
		random_ether_addr(priv->mac_addr);
		random_ether_addr(priv->mac_addr);
	}
	}
@@ -220,7 +221,7 @@ static void agnx_periodic_work_handler(struct work_struct *work)
	/* TODO Recalibrate*/
	/* TODO Recalibrate*/
/*	calibrate_oscillator(priv); */
/*	calibrate_oscillator(priv); */
/*	antenna_calibrate(priv); */
/*	antenna_calibrate(priv); */
/*	agnx_send_packet(priv, 997); /
/*	agnx_send_packet(priv, 997); */
	/* FIXME */
	/* FIXME */
/* 	if (debug == 3) */
/* 	if (debug == 3) */
/*                 delay = msecs_to_jiffies(AGNX_PERIODIC_DELAY); */
/*                 delay = msecs_to_jiffies(AGNX_PERIODIC_DELAY); */
@@ -455,47 +456,35 @@ static int __devinit agnx_pci_probe(struct pci_dev *pdev,
{
{
	struct ieee80211_hw *dev;
	struct ieee80211_hw *dev;
	struct agnx_priv *priv;
	struct agnx_priv *priv;
	u32 mem_addr0, mem_len0;
	u32 mem_addr1, mem_len1;
	int err;
	int err;
	DECLARE_MAC_BUF(mac);


	err = pci_enable_device(pdev);
	err = pci_enable_device(pdev);
	if (err) {
	if (err) {
		printk(KERN_ERR PFX "Can't enable new PCI device\n");
		dev_err(&pdev->dev, "can't enable pci device\n");
		return err;
		return err;
	}
	}


	/* get pci resource */
	mem_addr0 = pci_resource_start(pdev, 0);
	mem_len0 = pci_resource_len(pdev, 0);
	mem_addr1 = pci_resource_start(pdev, 1);
	mem_len1 = pci_resource_len(pdev, 1);
	printk(KERN_DEBUG PFX "Memaddr0 is %x, length is %x\n", mem_addr0, mem_len0);
	printk(KERN_DEBUG PFX "Memaddr1 is %x, length is %x\n", mem_addr1, mem_len1);

	err = pci_request_regions(pdev, "agnx-pci");
	err = pci_request_regions(pdev, "agnx-pci");
	if (err) {
	if (err) {
		printk(KERN_ERR PFX "Can't obtain PCI resource\n");
		dev_err(&pdev->dev, "can't reserve PCI resources\n");
		return err;
		return err;
	}
	}


	if (pci_set_dma_mask(pdev, DMA_BIT_MASK(32)) ||
	if (pci_set_dma_mask(pdev, DMA_BIT_MASK(32)) ||
	    pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32))) {
	    pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32))) {
		printk(KERN_ERR PFX "No suitable DMA available\n");
		dev_err(&pdev->dev, "no suitable DMA available\n");
		err = -EIO;
		goto err_free_reg;
		goto err_free_reg;
	}
	}


	pci_set_master(pdev);
	pci_set_master(pdev);
	printk(KERN_DEBUG PFX "pdev->irq is %d\n", pdev->irq);


	dev = ieee80211_alloc_hw(sizeof(*priv), &agnx_ops);
	dev = ieee80211_alloc_hw(sizeof(*priv), &agnx_ops);
	if (!dev) {
	if (!dev) {
		printk(KERN_ERR PFX "ieee80211 alloc failed\n");
		dev_err(&pdev->dev, "ieee80211 alloc failed\n");
		err = -ENOMEM;
		err = -ENOMEM;
		goto err_free_reg;
		goto err_free_reg;
	}
	}
	/* init priv  */
	priv = dev->priv;
	priv = dev->priv;
	memset(priv, 0, sizeof(*priv));
	memset(priv, 0, sizeof(*priv));
	priv->mode = NL80211_IFTYPE_MONITOR;
	priv->mode = NL80211_IFTYPE_MONITOR;
@@ -504,17 +493,17 @@ static int __devinit agnx_pci_probe(struct pci_dev *pdev,
	spin_lock_init(&priv->lock);
	spin_lock_init(&priv->lock);
	priv->init_status = AGNX_UNINIT;
	priv->init_status = AGNX_UNINIT;


	/* Map mem #1 and #2 */
	priv->ctl = pci_iomap(pdev, 0, 0);
	priv->ctl = pci_iomap(pdev, 0, mem_len0);
/*	dev_dbg(&pdev->dev, "MEM1 mapped address is 0x%p\n", priv->ctl); */
/*	printk(KERN_DEBUG PFX"MEM1 mapped address is 0x%p\n", priv->ctl); */
	if (!priv->ctl) {
	if (!priv->ctl) {
		printk(KERN_ERR PFX "Can't map device memory\n");
		dev_err(&pdev->dev, "can't map device memory\n");
		err = -ENOMEM;
		goto err_free_dev;
		goto err_free_dev;
	}
	}
	priv->data = pci_iomap(pdev, 1, mem_len1);
	priv->data = pci_iomap(pdev, 1, 0);
	printk(KERN_DEBUG PFX "MEM2 mapped address is 0x%p\n", priv->data);
	if (!priv->data) {
	if (!priv->data) {
		printk(KERN_ERR PFX "Can't map device memory\n");
		dev_err(&pdev->dev, "can't map device memory\n");
		err = -ENOMEM;
		goto err_iounmap2;
		goto err_iounmap2;
	}
	}


@@ -555,15 +544,15 @@ static int __devinit agnx_pci_probe(struct pci_dev *pdev,


	err = ieee80211_register_hw(dev);
	err = ieee80211_register_hw(dev);
	if (err) {
	if (err) {
		printk(KERN_ERR PFX "Can't register hardware\n");
		dev_err(&pdev->dev, "can't register hardware\n");
		goto err_iounmap;
		goto err_iounmap;
	}
	}


	agnx_hw_reset(priv);
	agnx_hw_reset(priv);



	dev_info(&pdev->dev, "%s: hwaddr %pM, Rev 0x%02x\n",
	printk(PFX "%s: hwaddr %s, Rev 0x%02x\n", wiphy_name(dev->wiphy),
		wiphy_name(dev->wiphy),
	       print_mac(mac, dev->wiphy->perm_addr), priv->revid);
		dev->wiphy->perm_addr, priv->revid);
	return 0;
	return 0;


 err_iounmap:
 err_iounmap:
Loading