Merge branch 'linux-2.6' into for-linus
此提交包含在:
@@ -72,7 +72,6 @@
|
||||
|
||||
#define DART_PAGE_SHIFT 12
|
||||
#define DART_PAGE_SIZE (1 << DART_PAGE_SHIFT)
|
||||
#define DART_PAGE_FACTOR (PAGE_SHIFT - DART_PAGE_SHIFT)
|
||||
|
||||
|
||||
#endif /* _POWERPC_SYSDEV_DART_H */
|
||||
|
@@ -156,9 +156,6 @@ static void dart_build(struct iommu_table *tbl, long index,
|
||||
|
||||
DBG("dart: build at: %lx, %lx, addr: %x\n", index, npages, uaddr);
|
||||
|
||||
index <<= DART_PAGE_FACTOR;
|
||||
npages <<= DART_PAGE_FACTOR;
|
||||
|
||||
dp = ((unsigned int*)tbl->it_base) + index;
|
||||
|
||||
/* On U3, all memory is contigous, so we can move this
|
||||
@@ -199,9 +196,6 @@ static void dart_free(struct iommu_table *tbl, long index, long npages)
|
||||
|
||||
DBG("dart: free at: %lx, %lx\n", index, npages);
|
||||
|
||||
index <<= DART_PAGE_FACTOR;
|
||||
npages <<= DART_PAGE_FACTOR;
|
||||
|
||||
dp = ((unsigned int *)tbl->it_base) + index;
|
||||
|
||||
while (npages--)
|
||||
@@ -281,7 +275,7 @@ static void iommu_table_dart_setup(void)
|
||||
iommu_table_dart.it_busno = 0;
|
||||
iommu_table_dart.it_offset = 0;
|
||||
/* it_size is in number of entries */
|
||||
iommu_table_dart.it_size = (dart_tablesize / sizeof(u32)) >> DART_PAGE_FACTOR;
|
||||
iommu_table_dart.it_size = dart_tablesize / sizeof(u32);
|
||||
|
||||
/* Initialize the common IOMMU code */
|
||||
iommu_table_dart.it_base = (unsigned long)dart_vbase;
|
||||
|
@@ -224,6 +224,11 @@ static struct irq_host_ops i8259_host_ops = {
|
||||
.xlate = i8259_host_xlate,
|
||||
};
|
||||
|
||||
struct irq_host *i8259_get_host(void)
|
||||
{
|
||||
return i8259_host;
|
||||
}
|
||||
|
||||
/**
|
||||
* i8259_init - Initialize the legacy controller
|
||||
* @node: device node of the legacy PIC (can be NULL, but then, it will match
|
||||
|
@@ -473,9 +473,9 @@ static int ipic_set_irq_type(unsigned int virq, unsigned int flow_type)
|
||||
desc->status |= flow_type & IRQ_TYPE_SENSE_MASK;
|
||||
if (flow_type & IRQ_TYPE_LEVEL_LOW) {
|
||||
desc->status |= IRQ_LEVEL;
|
||||
set_irq_handler(virq, handle_level_irq);
|
||||
desc->handle_irq = handle_level_irq;
|
||||
} else {
|
||||
set_irq_handler(virq, handle_edge_irq);
|
||||
desc->handle_irq = handle_edge_irq;
|
||||
}
|
||||
|
||||
/* only EXT IRQ senses are programmable on ipic
|
||||
|
@@ -122,8 +122,7 @@ int qe_issue_cmd(u32 cmd, u32 device, u8 mcn_protocol, u32 cmd_input)
|
||||
mcn_shift = QE_CR_MCN_NORMAL_SHIFT;
|
||||
}
|
||||
|
||||
out_be32(&qe_immr->cp.cecdr,
|
||||
immrbar_virt_to_phys((void *)cmd_input));
|
||||
out_be32(&qe_immr->cp.cecdr, cmd_input);
|
||||
out_be32(&qe_immr->cp.cecr,
|
||||
(cmd | QE_CR_FLG | ((u32) device << dev_shift) | (u32)
|
||||
mcn_protocol << mcn_shift));
|
||||
|
@@ -207,6 +207,7 @@ int ucc_set_qe_mux_rxtx(int ucc_num, enum qe_clock clock, enum comm_dir mode)
|
||||
case QE_CLK18: source = 8; break;
|
||||
case QE_CLK7: source = 9; break;
|
||||
case QE_CLK8: source = 10; break;
|
||||
case QE_CLK16: source = 11; break;
|
||||
default: source = -1; break;
|
||||
}
|
||||
break;
|
||||
@@ -222,6 +223,7 @@ int ucc_set_qe_mux_rxtx(int ucc_num, enum qe_clock clock, enum comm_dir mode)
|
||||
case QE_CLK22: source = 8; break;
|
||||
case QE_CLK7: source = 9; break;
|
||||
case QE_CLK8: source = 10; break;
|
||||
case QE_CLK16: source = 11; break;
|
||||
default: source = -1; break;
|
||||
}
|
||||
break;
|
||||
|
@@ -163,7 +163,7 @@ int ucc_fast_init(struct ucc_fast_info * uf_info, struct ucc_fast_private ** ucc
|
||||
|
||||
/* check if the UCC port number is in range. */
|
||||
if ((uf_info->ucc_num < 0) || (uf_info->ucc_num > UCC_MAX_NUM - 1)) {
|
||||
uccf_err("ucc_fast_init: Illagal UCC number!");
|
||||
uccf_err("ucc_fast_init: Illegal UCC number!");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
|
@@ -152,7 +152,7 @@ int ucc_slow_init(struct ucc_slow_info * us_info, struct ucc_slow_private ** ucc
|
||||
|
||||
/* check if the UCC port number is in range. */
|
||||
if ((us_info->ucc_num < 0) || (us_info->ucc_num > UCC_MAX_NUM - 1)) {
|
||||
uccs_err("ucc_slow_init: Illagal UCC number!");
|
||||
uccs_err("ucc_slow_init: Illegal UCC number!");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
|
@@ -48,7 +48,7 @@ phys_addr_t get_csrbase(void)
|
||||
tsi = of_find_node_by_type(NULL, "tsi-bridge");
|
||||
if (tsi) {
|
||||
unsigned int size;
|
||||
void *prop = get_property(tsi, "reg", &size);
|
||||
const void *prop = get_property(tsi, "reg", &size);
|
||||
tsi108_csr_base = of_translate_address(tsi, prop);
|
||||
of_node_put(tsi);
|
||||
};
|
||||
@@ -79,7 +79,7 @@ static int __init tsi108_eth_of_init(void)
|
||||
hw_info tsi_eth_data;
|
||||
unsigned int *id;
|
||||
unsigned int *phy_id;
|
||||
void *mac_addr;
|
||||
const void *mac_addr;
|
||||
phandle *ph;
|
||||
|
||||
memset(r, 0, sizeof(r));
|
||||
|
新增問題並參考
封鎖使用者