Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (110 commits) sh: i2c-sh7760: Replase from ctrl_* to __raw_* sh: clkfwk: Shuffle around to match the intc split up. sh: clkfwk: modify for_each_frequency end condition sh: fix clk_get() error handling sh: clkfwk: Fix fault in frequency iterator. sh: clkfwk: Add a helper for rate rounding by divisor ranges. sh: clkfwk: Abstract rate rounding helper. sh: clkfwk: support clock remapping. sh: pci: Convert to upper/lower_32_bits() helpers. sh: mach-sdk7786: Add support for the FPGA SRAM. sh: Provide a generic SRAM pool for tiny memories. sh: pci: Support secondary FPGA-driven PCIe clocks on SDK7786. sh: pci: Support slot 4 routing on SDK7786. sh: Fix up PMB locking. sh: mach-sdk7786: Add support for fpga gpios. sh: use pr_fmt for clock framework, too. sh: remove name and id from struct clk sh: free-without-alloc fix for sh_mobile_lcdcfb sh: perf: Set up perf_max_events. sh: perf: Support SH-X3 hardware counters. ... Fix up trivial conflicts (perf_max_events got removed) in arch/sh/kernel/perf_event.c
This commit is contained in:
@@ -2268,6 +2268,13 @@
|
||||
|
||||
#define PCI_VENDOR_ID_SILAN 0x1904
|
||||
|
||||
#define PCI_VENDOR_ID_RENESAS 0x1912
|
||||
#define PCI_DEVICE_ID_RENESAS_SH7781 0x0001
|
||||
#define PCI_DEVICE_ID_RENESAS_SH7780 0x0002
|
||||
#define PCI_DEVICE_ID_RENESAS_SH7763 0x0004
|
||||
#define PCI_DEVICE_ID_RENESAS_SH7785 0x0007
|
||||
#define PCI_DEVICE_ID_RENESAS_SH7786 0x0010
|
||||
|
||||
#define PCI_VENDOR_ID_TDI 0x192E
|
||||
#define PCI_DEVICE_ID_TDI_EHCI 0x0101
|
||||
|
||||
|
||||
+14
-3
@@ -4,11 +4,20 @@
|
||||
#include <linux/list.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/cpufreq.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/kref.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/err.h>
|
||||
|
||||
struct clk;
|
||||
|
||||
struct clk_mapping {
|
||||
phys_addr_t phys;
|
||||
void __iomem *base;
|
||||
unsigned long len;
|
||||
struct kref ref;
|
||||
};
|
||||
|
||||
struct clk_ops {
|
||||
void (*init)(struct clk *clk);
|
||||
int (*enable)(struct clk *clk);
|
||||
@@ -21,9 +30,6 @@ struct clk_ops {
|
||||
|
||||
struct clk {
|
||||
struct list_head node;
|
||||
const char *name;
|
||||
int id;
|
||||
|
||||
struct clk *parent;
|
||||
struct clk **parent_table; /* list of parents to */
|
||||
unsigned short parent_num; /* choose between */
|
||||
@@ -45,7 +51,9 @@ struct clk {
|
||||
unsigned long arch_flags;
|
||||
void *priv;
|
||||
struct dentry *dentry;
|
||||
struct clk_mapping *mapping;
|
||||
struct cpufreq_frequency_table *freq_table;
|
||||
unsigned int nr_freqs;
|
||||
};
|
||||
|
||||
#define CLK_ENABLE_ON_INIT (1 << 0)
|
||||
@@ -111,6 +119,9 @@ int clk_rate_table_find(struct clk *clk,
|
||||
struct cpufreq_frequency_table *freq_table,
|
||||
unsigned long rate);
|
||||
|
||||
long clk_rate_div_range_round(struct clk *clk, unsigned int div_min,
|
||||
unsigned int div_max, unsigned long rate);
|
||||
|
||||
#define SH_CLK_MSTP32(_parent, _enable_reg, _enable_bit, _flags) \
|
||||
{ \
|
||||
.parent = _parent, \
|
||||
|
||||
+14
-2
@@ -20,6 +20,12 @@ struct intc_group {
|
||||
|
||||
#define INTC_GROUP(enum_id, ids...) { enum_id, { ids } }
|
||||
|
||||
struct intc_subgroup {
|
||||
unsigned long reg, reg_width;
|
||||
intc_enum parent_id;
|
||||
intc_enum enum_ids[32];
|
||||
};
|
||||
|
||||
struct intc_mask_reg {
|
||||
unsigned long set_reg, clr_reg, reg_width;
|
||||
intc_enum enum_ids[32];
|
||||
@@ -69,9 +75,12 @@ struct intc_hw_desc {
|
||||
unsigned int nr_sense_regs;
|
||||
struct intc_mask_reg *ack_regs;
|
||||
unsigned int nr_ack_regs;
|
||||
struct intc_subgroup *subgroups;
|
||||
unsigned int nr_subgroups;
|
||||
};
|
||||
|
||||
#define _INTC_ARRAY(a) a, sizeof(a)/sizeof(*a)
|
||||
#define _INTC_ARRAY(a) a, a == NULL ? 0 : sizeof(a)/sizeof(*a)
|
||||
|
||||
#define INTC_HW_DESC(vectors, groups, mask_regs, \
|
||||
prio_regs, sense_regs, ack_regs) \
|
||||
{ \
|
||||
@@ -105,8 +114,11 @@ struct intc_desc symbol __initdata = { \
|
||||
prio_regs, sense_regs, ack_regs), \
|
||||
}
|
||||
|
||||
int __init register_intc_controller(struct intc_desc *desc);
|
||||
int register_intc_controller(struct intc_desc *desc);
|
||||
void reserve_intc_vectors(struct intc_vect *vectors, unsigned int nr_vecs);
|
||||
int intc_set_priority(unsigned int irq, unsigned int prio);
|
||||
int intc_irq_lookup(const char *chipname, intc_enum enum_id);
|
||||
void intc_finalize(void);
|
||||
|
||||
#ifdef CONFIG_INTC_USERIMASK
|
||||
int register_intc_userimask(unsigned long addr);
|
||||
|
||||
@@ -92,5 +92,6 @@ struct pinmux_info {
|
||||
};
|
||||
|
||||
int register_pinmux(struct pinmux_info *pip);
|
||||
int unregister_pinmux(struct pinmux_info *pip);
|
||||
|
||||
#endif /* __SH_PFC_H */
|
||||
|
||||
Reference in New Issue
Block a user