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

Commit b7f3a209 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6:
  sparc: Support show_unhandled_signals.
  sparc: use __ratelimit
  sunxvr500: Additional PCI id for sunxvr500 driver
  sparc: use asm-generic/scatterlist.h
  sparc64: If 'slot-names' property exist, create sysfs PCI slot information.
  sparc: remove trailing space in messages
  sparc: remove redundant return statements
parents 6d6b89bd 4b177647
Loading
Loading
Loading
Loading
+1 −20
Original line number Original line Diff line number Diff line
#ifndef _SPARC_SCATTERLIST_H
#ifndef _SPARC_SCATTERLIST_H
#define _SPARC_SCATTERLIST_H
#define _SPARC_SCATTERLIST_H


#include <asm/page.h>
#include <asm/types.h>

struct scatterlist {
#ifdef CONFIG_DEBUG_SG
	unsigned long	sg_magic;
#endif
	unsigned long	page_link;
	unsigned int	offset;

	unsigned int	length;

	dma_addr_t	dma_address;
	__u32		dma_length;
};

#define sg_dma_address(sg)	((sg)->dma_address)
#define sg_dma_len(sg)     	((sg)->dma_length)
#define sg_dma_len(sg)     	((sg)->dma_length)


#define ISA_DMA_THRESHOLD	(~0UL)
#include <asm-generic/scatterlist.h>

#define ARCH_HAS_SG_CHAIN


#endif /* !(_SPARC_SCATTERLIST_H) */
#endif /* !(_SPARC_SCATTERLIST_H) */
+0 −2
Original line number Original line Diff line number Diff line
@@ -143,6 +143,4 @@ void __init device_scan(void)


	if (ARCH_SUN4C)
	if (ARCH_SUN4C)
		sun4c_probe_memerr_reg();
		sun4c_probe_memerr_reg();

	return;
}
}
+1 −1
Original line number Original line Diff line number Diff line
@@ -124,7 +124,7 @@ void __init leon_init_timers(irq_handler_t counter_fn)


		if (!(LEON3_BYPASS_LOAD_PA(&leon3_gptimer_regs->config) &
		if (!(LEON3_BYPASS_LOAD_PA(&leon3_gptimer_regs->config) &
		      (1<<LEON3_GPTIMER_SEPIRQ))) {
		      (1<<LEON3_GPTIMER_SEPIRQ))) {
			prom_printf("irq timer not configured with seperate irqs \n");
			prom_printf("irq timer not configured with separate irqs\n");
			BUG();
			BUG();
		}
		}


+75 −0
Original line number Original line Diff line number Diff line
@@ -1095,3 +1095,78 @@ static int __init pcibios_init(void)
	return 0;
	return 0;
}
}
subsys_initcall(pcibios_init);
subsys_initcall(pcibios_init);

#ifdef CONFIG_SYSFS
static void __devinit pci_bus_slot_names(struct device_node *node,
					 struct pci_bus *bus)
{
	const struct pci_slot_names {
		u32	slot_mask;
		char	names[0];
	} *prop;
	const char *sp;
	int len, i;
	u32 mask;

	prop = of_get_property(node, "slot-names", &len);
	if (!prop)
		return;

	mask = prop->slot_mask;
	sp = prop->names;

	if (ofpci_verbose)
		printk("PCI: Making slots for [%s] mask[0x%02x]\n",
		       node->full_name, mask);

	i = 0;
	while (mask) {
		struct pci_slot *pci_slot;
		u32 this_bit = 1 << i;

		if (!(mask & this_bit)) {
			i++;
			continue;
		}

		if (ofpci_verbose)
			printk("PCI: Making slot [%s]\n", sp);

		pci_slot = pci_create_slot(bus, i, sp, NULL);
		if (IS_ERR(pci_slot))
			printk(KERN_ERR "PCI: pci_create_slot returned %ld\n",
			       PTR_ERR(pci_slot));

		sp += strlen(sp) + 1;
		mask &= ~this_bit;
		i++;
	}
}

static int __init of_pci_slot_init(void)
{
	struct pci_bus *pbus = NULL;

	while ((pbus = pci_find_next_bus(pbus)) != NULL) {
		struct device_node *node;

		if (pbus->self) {
			struct dev_archdata *sd = pbus->self->sysdata;

			/* PCI->PCI bridge */
			node = sd->prom_node;
		} else {
			struct pci_pbm_info *pbm = pbus->sysdata;

			/* Host PCI controller */
			node = pbm->op->node;
		}

		pci_bus_slot_names(node, pbus);
	}

	return 0;
}

module_init(of_pci_slot_init);
#endif
+0 −2
Original line number Original line Diff line number Diff line
@@ -585,8 +585,6 @@ pcic_fill_irq(struct linux_pcic *pcic, struct pci_dev *dev, int node)
			writew(ivec, pcic->pcic_regs+PCI_INT_SELECT_LO);
			writew(ivec, pcic->pcic_regs+PCI_INT_SELECT_LO);
		}
		}
 	}
 	}

	return;
}
}


/*
/*
Loading