diff options
Diffstat (limited to 'include/linux')
33 files changed, 287 insertions, 50 deletions
diff --git a/include/linux/bio.h b/include/linux/bio.h index a3c071c9e189..847994aef0e9 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h | |||
| @@ -211,8 +211,8 @@ extern void bio_pair_release(struct bio_pair *dbio); | |||
| 211 | extern struct bio_set *bioset_create(unsigned int, unsigned int); | 211 | extern struct bio_set *bioset_create(unsigned int, unsigned int); |
| 212 | extern void bioset_free(struct bio_set *); | 212 | extern void bioset_free(struct bio_set *); |
| 213 | 213 | ||
| 214 | extern struct bio *bio_alloc(gfp_t, int); | 214 | extern struct bio *bio_alloc(gfp_t, unsigned int); |
| 215 | extern struct bio *bio_kmalloc(gfp_t, int); | 215 | extern struct bio *bio_kmalloc(gfp_t, unsigned int); |
| 216 | extern struct bio *bio_alloc_bioset(gfp_t, int, struct bio_set *); | 216 | extern struct bio *bio_alloc_bioset(gfp_t, int, struct bio_set *); |
| 217 | extern void bio_put(struct bio *); | 217 | extern void bio_put(struct bio *); |
| 218 | extern void bio_free(struct bio *, struct bio_set *); | 218 | extern void bio_free(struct bio *, struct bio_set *); |
| @@ -519,7 +519,11 @@ extern void bio_integrity_init(void); | |||
| 519 | #define bioset_integrity_create(a, b) (0) | 519 | #define bioset_integrity_create(a, b) (0) |
| 520 | #define bio_integrity_prep(a) (0) | 520 | #define bio_integrity_prep(a) (0) |
| 521 | #define bio_integrity_enabled(a) (0) | 521 | #define bio_integrity_enabled(a) (0) |
| 522 | #define bio_integrity_clone(a, b, c, d) (0) | 522 | static inline int bio_integrity_clone(struct bio *bio, struct bio *bio_src, |
| 523 | gfp_t gfp_mask, struct bio_set *bs) | ||
| 524 | { | ||
| 525 | return 0; | ||
| 526 | } | ||
| 523 | #define bioset_integrity_free(a) do { } while (0) | 527 | #define bioset_integrity_free(a) do { } while (0) |
| 524 | #define bio_integrity_free(a, b) do { } while (0) | 528 | #define bio_integrity_free(a, b) do { } while (0) |
| 525 | #define bio_integrity_endio(a, b) do { } while (0) | 529 | #define bio_integrity_endio(a, b) do { } while (0) |
diff --git a/include/linux/ceph/osd_client.h b/include/linux/ceph/osd_client.h index f88eacb111d4..7c05ac202d90 100644 --- a/include/linux/ceph/osd_client.h +++ b/include/linux/ceph/osd_client.h | |||
| @@ -10,6 +10,12 @@ | |||
| 10 | #include "osdmap.h" | 10 | #include "osdmap.h" |
| 11 | #include "messenger.h" | 11 | #include "messenger.h" |
| 12 | 12 | ||
| 13 | /* | ||
| 14 | * Maximum object name size | ||
| 15 | * (must be at least as big as RBD_MAX_MD_NAME_LEN -- currently 100) | ||
| 16 | */ | ||
| 17 | #define MAX_OBJ_NAME_SIZE 100 | ||
| 18 | |||
| 13 | struct ceph_msg; | 19 | struct ceph_msg; |
| 14 | struct ceph_snap_context; | 20 | struct ceph_snap_context; |
| 15 | struct ceph_osd_request; | 21 | struct ceph_osd_request; |
| @@ -75,7 +81,7 @@ struct ceph_osd_request { | |||
| 75 | struct inode *r_inode; /* for use by callbacks */ | 81 | struct inode *r_inode; /* for use by callbacks */ |
| 76 | void *r_priv; /* ditto */ | 82 | void *r_priv; /* ditto */ |
| 77 | 83 | ||
| 78 | char r_oid[40]; /* object name */ | 84 | char r_oid[MAX_OBJ_NAME_SIZE]; /* object name */ |
| 79 | int r_oid_len; | 85 | int r_oid_len; |
| 80 | unsigned long r_stamp; /* send OR check time */ | 86 | unsigned long r_stamp; /* send OR check time */ |
| 81 | 87 | ||
diff --git a/include/linux/devfreq.h b/include/linux/devfreq.h index afb94583960c..98ce8124b1cc 100644 --- a/include/linux/devfreq.h +++ b/include/linux/devfreq.h | |||
| @@ -41,7 +41,7 @@ struct devfreq_dev_status { | |||
| 41 | unsigned long total_time; | 41 | unsigned long total_time; |
| 42 | unsigned long busy_time; | 42 | unsigned long busy_time; |
| 43 | unsigned long current_frequency; | 43 | unsigned long current_frequency; |
| 44 | void *private_date; | 44 | void *private_data; |
| 45 | }; | 45 | }; |
| 46 | 46 | ||
| 47 | /** | 47 | /** |
diff --git a/include/linux/device.h b/include/linux/device.h index ffbcf95cd97d..3136ede5a1e1 100644 --- a/include/linux/device.h +++ b/include/linux/device.h | |||
| @@ -69,7 +69,7 @@ extern void bus_remove_file(struct bus_type *, struct bus_attribute *); | |||
| 69 | * @resume: Called to bring a device on this bus out of sleep mode. | 69 | * @resume: Called to bring a device on this bus out of sleep mode. |
| 70 | * @pm: Power management operations of this bus, callback the specific | 70 | * @pm: Power management operations of this bus, callback the specific |
| 71 | * device driver's pm-ops. | 71 | * device driver's pm-ops. |
| 72 | * @iommu_ops IOMMU specific operations for this bus, used to attach IOMMU | 72 | * @iommu_ops: IOMMU specific operations for this bus, used to attach IOMMU |
| 73 | * driver implementations to a bus and allow the driver to do | 73 | * driver implementations to a bus and allow the driver to do |
| 74 | * bus-specific setup | 74 | * bus-specific setup |
| 75 | * @p: The private data of the driver core, only the driver core can | 75 | * @p: The private data of the driver core, only the driver core can |
| @@ -682,6 +682,11 @@ static inline bool device_async_suspend_enabled(struct device *dev) | |||
| 682 | return !!dev->power.async_suspend; | 682 | return !!dev->power.async_suspend; |
| 683 | } | 683 | } |
| 684 | 684 | ||
| 685 | static inline void pm_suspend_ignore_children(struct device *dev, bool enable) | ||
| 686 | { | ||
| 687 | dev->power.ignore_children = enable; | ||
| 688 | } | ||
| 689 | |||
| 685 | static inline void device_lock(struct device *dev) | 690 | static inline void device_lock(struct device *dev) |
| 686 | { | 691 | { |
| 687 | mutex_lock(&dev->mutex); | 692 | mutex_lock(&dev->mutex); |
diff --git a/include/linux/fs.h b/include/linux/fs.h index 0c4df261af7e..e3130220ce3e 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
| @@ -1886,6 +1886,7 @@ extern struct dentry *mount_single(struct file_system_type *fs_type, | |||
| 1886 | extern struct dentry *mount_nodev(struct file_system_type *fs_type, | 1886 | extern struct dentry *mount_nodev(struct file_system_type *fs_type, |
| 1887 | int flags, void *data, | 1887 | int flags, void *data, |
| 1888 | int (*fill_super)(struct super_block *, void *, int)); | 1888 | int (*fill_super)(struct super_block *, void *, int)); |
| 1889 | extern struct dentry *mount_subtree(struct vfsmount *mnt, const char *path); | ||
| 1889 | void generic_shutdown_super(struct super_block *sb); | 1890 | void generic_shutdown_super(struct super_block *sb); |
| 1890 | void kill_block_super(struct super_block *sb); | 1891 | void kill_block_super(struct super_block *sb); |
| 1891 | void kill_anon_super(struct super_block *sb); | 1892 | void kill_anon_super(struct super_block *sb); |
diff --git a/include/linux/genhd.h b/include/linux/genhd.h index 9de31bc98c88..6d18f3531f18 100644 --- a/include/linux/genhd.h +++ b/include/linux/genhd.h | |||
| @@ -21,8 +21,6 @@ | |||
| 21 | #define dev_to_part(device) container_of((device), struct hd_struct, __dev) | 21 | #define dev_to_part(device) container_of((device), struct hd_struct, __dev) |
| 22 | #define disk_to_dev(disk) (&(disk)->part0.__dev) | 22 | #define disk_to_dev(disk) (&(disk)->part0.__dev) |
| 23 | #define part_to_dev(part) (&((part)->__dev)) | 23 | #define part_to_dev(part) (&((part)->__dev)) |
| 24 | #define alias_name(disk) ((disk)->alias ? (disk)->alias : \ | ||
| 25 | (disk)->disk_name) | ||
| 26 | 24 | ||
| 27 | extern struct device_type part_type; | 25 | extern struct device_type part_type; |
| 28 | extern struct kobject *block_depr; | 26 | extern struct kobject *block_depr; |
| @@ -60,7 +58,6 @@ enum { | |||
| 60 | 58 | ||
| 61 | #define DISK_MAX_PARTS 256 | 59 | #define DISK_MAX_PARTS 256 |
| 62 | #define DISK_NAME_LEN 32 | 60 | #define DISK_NAME_LEN 32 |
| 63 | #define ALIAS_LEN 256 | ||
| 64 | 61 | ||
| 65 | #include <linux/major.h> | 62 | #include <linux/major.h> |
| 66 | #include <linux/device.h> | 63 | #include <linux/device.h> |
| @@ -166,7 +163,6 @@ struct gendisk { | |||
| 166 | * disks that can't be partitioned. */ | 163 | * disks that can't be partitioned. */ |
| 167 | 164 | ||
| 168 | char disk_name[DISK_NAME_LEN]; /* name of major driver */ | 165 | char disk_name[DISK_NAME_LEN]; /* name of major driver */ |
| 169 | char *alias; /* alias name of disk */ | ||
| 170 | char *(*devnode)(struct gendisk *gd, mode_t *mode); | 166 | char *(*devnode)(struct gendisk *gd, mode_t *mode); |
| 171 | 167 | ||
| 172 | unsigned int events; /* supported events */ | 168 | unsigned int events; /* supported events */ |
diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h index 19644e0016bd..d9d6c868b86b 100644 --- a/include/linux/hugetlb.h +++ b/include/linux/hugetlb.h | |||
| @@ -110,11 +110,6 @@ static inline void copy_huge_page(struct page *dst, struct page *src) | |||
| 110 | 110 | ||
| 111 | #define hugetlb_change_protection(vma, address, end, newprot) | 111 | #define hugetlb_change_protection(vma, address, end, newprot) |
| 112 | 112 | ||
| 113 | #ifndef HPAGE_MASK | ||
| 114 | #define HPAGE_MASK PAGE_MASK /* Keep the compiler happy */ | ||
| 115 | #define HPAGE_SIZE PAGE_SIZE | ||
| 116 | #endif | ||
| 117 | |||
| 118 | #endif /* !CONFIG_HUGETLB_PAGE */ | 113 | #endif /* !CONFIG_HUGETLB_PAGE */ |
| 119 | 114 | ||
| 120 | #define HUGETLB_ANON_FILE "anon_hugepage" | 115 | #define HUGETLB_ANON_FILE "anon_hugepage" |
diff --git a/include/linux/hwspinlock.h b/include/linux/hwspinlock.h index 08a2fee40659..aad6bd4b3efd 100644 --- a/include/linux/hwspinlock.h +++ b/include/linux/hwspinlock.h | |||
| @@ -118,7 +118,6 @@ int __hwspin_trylock(struct hwspinlock *hwlock, int mode, unsigned long *flags) | |||
| 118 | static inline | 118 | static inline |
| 119 | void __hwspin_unlock(struct hwspinlock *hwlock, int mode, unsigned long *flags) | 119 | void __hwspin_unlock(struct hwspinlock *hwlock, int mode, unsigned long *flags) |
| 120 | { | 120 | { |
| 121 | return 0; | ||
| 122 | } | 121 | } |
| 123 | 122 | ||
| 124 | static inline int hwspin_lock_get_id(struct hwspinlock *hwlock) | 123 | static inline int hwspin_lock_get_id(struct hwspinlock *hwlock) |
diff --git a/include/linux/i2c.h b/include/linux/i2c.h index a81bf6d23b3e..07d103a06d64 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h | |||
| @@ -432,9 +432,6 @@ void i2c_unlock_adapter(struct i2c_adapter *); | |||
| 432 | /* Internal numbers to terminate lists */ | 432 | /* Internal numbers to terminate lists */ |
| 433 | #define I2C_CLIENT_END 0xfffeU | 433 | #define I2C_CLIENT_END 0xfffeU |
| 434 | 434 | ||
| 435 | /* The numbers to use to set I2C bus address */ | ||
| 436 | #define ANY_I2C_BUS 0xffff | ||
| 437 | |||
| 438 | /* Construct an I2C_CLIENT_END-terminated array of i2c addresses */ | 435 | /* Construct an I2C_CLIENT_END-terminated array of i2c addresses */ |
| 439 | #define I2C_ADDRS(addr, addrs...) \ | 436 | #define I2C_ADDRS(addr, addrs...) \ |
| 440 | ((const unsigned short []){ addr, ## addrs, I2C_CLIENT_END }) | 437 | ((const unsigned short []){ addr, ## addrs, I2C_CLIENT_END }) |
diff --git a/include/linux/inet_diag.h b/include/linux/inet_diag.h index 80b480c97532..abf5028db981 100644 --- a/include/linux/inet_diag.h +++ b/include/linux/inet_diag.h | |||
| @@ -98,9 +98,10 @@ enum { | |||
| 98 | INET_DIAG_VEGASINFO, | 98 | INET_DIAG_VEGASINFO, |
| 99 | INET_DIAG_CONG, | 99 | INET_DIAG_CONG, |
| 100 | INET_DIAG_TOS, | 100 | INET_DIAG_TOS, |
| 101 | INET_DIAG_TCLASS, | ||
| 101 | }; | 102 | }; |
| 102 | 103 | ||
| 103 | #define INET_DIAG_MAX INET_DIAG_TOS | 104 | #define INET_DIAG_MAX INET_DIAG_TCLASS |
| 104 | 105 | ||
| 105 | 106 | ||
| 106 | /* INET_DIAG_MEM */ | 107 | /* INET_DIAG_MEM */ |
diff --git a/include/linux/init_task.h b/include/linux/init_task.h index 08ffab01e76c..94b1e356c02a 100644 --- a/include/linux/init_task.h +++ b/include/linux/init_task.h | |||
| @@ -184,7 +184,6 @@ extern struct cred init_cred; | |||
| 184 | [PIDTYPE_SID] = INIT_PID_LINK(PIDTYPE_SID), \ | 184 | [PIDTYPE_SID] = INIT_PID_LINK(PIDTYPE_SID), \ |
| 185 | }, \ | 185 | }, \ |
| 186 | .thread_group = LIST_HEAD_INIT(tsk.thread_group), \ | 186 | .thread_group = LIST_HEAD_INIT(tsk.thread_group), \ |
| 187 | .dirties = INIT_PROP_LOCAL_SINGLE(dirties), \ | ||
| 188 | INIT_IDS \ | 187 | INIT_IDS \ |
| 189 | INIT_PERF_EVENTS(tsk) \ | 188 | INIT_PERF_EVENTS(tsk) \ |
| 190 | INIT_TRACE_IRQFLAGS \ | 189 | INIT_TRACE_IRQFLAGS \ |
diff --git a/include/linux/kvm.h b/include/linux/kvm.h index f47fcd30273d..c3892fc1d538 100644 --- a/include/linux/kvm.h +++ b/include/linux/kvm.h | |||
| @@ -555,7 +555,6 @@ struct kvm_ppc_pvinfo { | |||
| 555 | #define KVM_CAP_PPC_SMT 64 | 555 | #define KVM_CAP_PPC_SMT 64 |
| 556 | #define KVM_CAP_PPC_RMA 65 | 556 | #define KVM_CAP_PPC_RMA 65 |
| 557 | #define KVM_CAP_MAX_VCPUS 66 /* returns max vcpus per vm */ | 557 | #define KVM_CAP_MAX_VCPUS 66 /* returns max vcpus per vm */ |
| 558 | #define KVM_CAP_PPC_HIOR 67 | ||
| 559 | #define KVM_CAP_PPC_PAPR 68 | 558 | #define KVM_CAP_PPC_PAPR 68 |
| 560 | #define KVM_CAP_S390_GMAP 71 | 559 | #define KVM_CAP_S390_GMAP 71 |
| 561 | 560 | ||
diff --git a/include/linux/mfd/tps65910.h b/include/linux/mfd/tps65910.h index 82b4c8801a4f..8bf2cb9502dd 100644 --- a/include/linux/mfd/tps65910.h +++ b/include/linux/mfd/tps65910.h | |||
| @@ -243,7 +243,8 @@ | |||
| 243 | 243 | ||
| 244 | 244 | ||
| 245 | /*Registers VDD1, VDD2 voltage values definitions */ | 245 | /*Registers VDD1, VDD2 voltage values definitions */ |
| 246 | #define VDD1_2_NUM_VOLTS 73 | 246 | #define VDD1_2_NUM_VOLT_FINE 73 |
| 247 | #define VDD1_2_NUM_VOLT_COARSE 3 | ||
| 247 | #define VDD1_2_MIN_VOLT 6000 | 248 | #define VDD1_2_MIN_VOLT 6000 |
| 248 | #define VDD1_2_OFFSET 125 | 249 | #define VDD1_2_OFFSET 125 |
| 249 | 250 | ||
diff --git a/include/linux/mfd/wm8994/core.h b/include/linux/mfd/wm8994/core.h index f44bdb7273bd..9eff2a351ec5 100644 --- a/include/linux/mfd/wm8994/core.h +++ b/include/linux/mfd/wm8994/core.h | |||
| @@ -15,6 +15,7 @@ | |||
| 15 | #ifndef __MFD_WM8994_CORE_H__ | 15 | #ifndef __MFD_WM8994_CORE_H__ |
| 16 | #define __MFD_WM8994_CORE_H__ | 16 | #define __MFD_WM8994_CORE_H__ |
| 17 | 17 | ||
| 18 | #include <linux/mutex.h> | ||
| 18 | #include <linux/interrupt.h> | 19 | #include <linux/interrupt.h> |
| 19 | 20 | ||
| 20 | enum wm8994_type { | 21 | enum wm8994_type { |
| @@ -55,6 +56,7 @@ struct wm8994 { | |||
| 55 | struct mutex irq_lock; | 56 | struct mutex irq_lock; |
| 56 | 57 | ||
| 57 | enum wm8994_type type; | 58 | enum wm8994_type type; |
| 59 | int revision; | ||
| 58 | 60 | ||
| 59 | struct device *dev; | 61 | struct device *dev; |
| 60 | struct regmap *regmap; | 62 | struct regmap *regmap; |
| @@ -65,13 +67,10 @@ struct wm8994 { | |||
| 65 | int irq_base; | 67 | int irq_base; |
| 66 | 68 | ||
| 67 | int irq; | 69 | int irq; |
| 68 | u16 irq_masks_cur[WM8994_NUM_IRQ_REGS]; | 70 | struct regmap_irq_chip_data *irq_data; |
| 69 | u16 irq_masks_cache[WM8994_NUM_IRQ_REGS]; | ||
| 70 | 71 | ||
| 71 | /* Used over suspend/resume */ | 72 | /* Used over suspend/resume */ |
| 72 | bool suspended; | 73 | bool suspended; |
| 73 | u16 ldo_regs[WM8994_NUM_LDO_REGS]; | ||
| 74 | u16 gpio_regs[WM8994_NUM_GPIO_REGS]; | ||
| 75 | 74 | ||
| 76 | struct regulator_dev *dbvdd; | 75 | struct regulator_dev *dbvdd; |
| 77 | int num_supplies; | 76 | int num_supplies; |
diff --git a/include/linux/mfd/wm8994/pdata.h b/include/linux/mfd/wm8994/pdata.h index 5256f1f41d7f..3fb1f407d5e6 100644 --- a/include/linux/mfd/wm8994/pdata.h +++ b/include/linux/mfd/wm8994/pdata.h | |||
| @@ -23,7 +23,7 @@ struct wm8994_ldo_pdata { | |||
| 23 | int enable; | 23 | int enable; |
| 24 | 24 | ||
| 25 | const char *supply; | 25 | const char *supply; |
| 26 | struct regulator_init_data *init_data; | 26 | const struct regulator_init_data *init_data; |
| 27 | }; | 27 | }; |
| 28 | 28 | ||
| 29 | #define WM8994_CONFIGURE_GPIO 0x10000 | 29 | #define WM8994_CONFIGURE_GPIO 0x10000 |
| @@ -197,6 +197,12 @@ struct wm8994_pdata { | |||
| 197 | * consumption will rise. | 197 | * consumption will rise. |
| 198 | */ | 198 | */ |
| 199 | bool ldo_ena_always_driven; | 199 | bool ldo_ena_always_driven; |
| 200 | |||
| 201 | /* | ||
| 202 | * SPKMODE must be pulled internally by the device on this | ||
| 203 | * system. | ||
| 204 | */ | ||
| 205 | bool spkmode_pu; | ||
| 200 | }; | 206 | }; |
| 201 | 207 | ||
| 202 | #endif | 208 | #endif |
diff --git a/include/linux/mfd/wm8994/registers.h b/include/linux/mfd/wm8994/registers.h index ebfc92fdcd77..86e6a032a078 100644 --- a/include/linux/mfd/wm8994/registers.h +++ b/include/linux/mfd/wm8994/registers.h | |||
| @@ -95,11 +95,15 @@ | |||
| 95 | #define WM8994_FLL1_CONTROL_3 0x222 | 95 | #define WM8994_FLL1_CONTROL_3 0x222 |
| 96 | #define WM8994_FLL1_CONTROL_4 0x223 | 96 | #define WM8994_FLL1_CONTROL_4 0x223 |
| 97 | #define WM8994_FLL1_CONTROL_5 0x224 | 97 | #define WM8994_FLL1_CONTROL_5 0x224 |
| 98 | #define WM8958_FLL1_EFS_1 0x226 | ||
| 99 | #define WM8958_FLL1_EFS_2 0x227 | ||
| 98 | #define WM8994_FLL2_CONTROL_1 0x240 | 100 | #define WM8994_FLL2_CONTROL_1 0x240 |
| 99 | #define WM8994_FLL2_CONTROL_2 0x241 | 101 | #define WM8994_FLL2_CONTROL_2 0x241 |
| 100 | #define WM8994_FLL2_CONTROL_3 0x242 | 102 | #define WM8994_FLL2_CONTROL_3 0x242 |
| 101 | #define WM8994_FLL2_CONTROL_4 0x243 | 103 | #define WM8994_FLL2_CONTROL_4 0x243 |
| 102 | #define WM8994_FLL2_CONTROL_5 0x244 | 104 | #define WM8994_FLL2_CONTROL_5 0x244 |
| 105 | #define WM8958_FLL2_EFS_1 0x246 | ||
| 106 | #define WM8958_FLL2_EFS_2 0x247 | ||
| 103 | #define WM8994_AIF1_CONTROL_1 0x300 | 107 | #define WM8994_AIF1_CONTROL_1 0x300 |
| 104 | #define WM8994_AIF1_CONTROL_2 0x301 | 108 | #define WM8994_AIF1_CONTROL_2 0x301 |
| 105 | #define WM8994_AIF1_MASTER_SLAVE 0x302 | 109 | #define WM8994_AIF1_MASTER_SLAVE 0x302 |
| @@ -116,6 +120,7 @@ | |||
| 116 | #define WM8994_AIF2DAC_LRCLK 0x315 | 120 | #define WM8994_AIF2DAC_LRCLK 0x315 |
| 117 | #define WM8994_AIF2DAC_DATA 0x316 | 121 | #define WM8994_AIF2DAC_DATA 0x316 |
| 118 | #define WM8994_AIF2ADC_DATA 0x317 | 122 | #define WM8994_AIF2ADC_DATA 0x317 |
| 123 | #define WM1811_AIF2TX_CONTROL 0x318 | ||
| 119 | #define WM8958_AIF3_CONTROL_1 0x320 | 124 | #define WM8958_AIF3_CONTROL_1 0x320 |
| 120 | #define WM8958_AIF3_CONTROL_2 0x321 | 125 | #define WM8958_AIF3_CONTROL_2 0x321 |
| 121 | #define WM8958_AIF3DAC_DATA 0x322 | 126 | #define WM8958_AIF3DAC_DATA 0x322 |
| @@ -166,6 +171,7 @@ | |||
| 166 | #define WM8994_AIF1_DAC1_EQ_BAND_5_A 0x491 | 171 | #define WM8994_AIF1_DAC1_EQ_BAND_5_A 0x491 |
| 167 | #define WM8994_AIF1_DAC1_EQ_BAND_5_B 0x492 | 172 | #define WM8994_AIF1_DAC1_EQ_BAND_5_B 0x492 |
| 168 | #define WM8994_AIF1_DAC1_EQ_BAND_5_PG 0x493 | 173 | #define WM8994_AIF1_DAC1_EQ_BAND_5_PG 0x493 |
| 174 | #define WM8994_AIF1_DAC1_EQ_BAND_1_C 0x494 | ||
| 169 | #define WM8994_AIF1_DAC2_EQ_GAINS_1 0x4A0 | 175 | #define WM8994_AIF1_DAC2_EQ_GAINS_1 0x4A0 |
| 170 | #define WM8994_AIF1_DAC2_EQ_GAINS_2 0x4A1 | 176 | #define WM8994_AIF1_DAC2_EQ_GAINS_2 0x4A1 |
| 171 | #define WM8994_AIF1_DAC2_EQ_BAND_1_A 0x4A2 | 177 | #define WM8994_AIF1_DAC2_EQ_BAND_1_A 0x4A2 |
| @@ -186,6 +192,7 @@ | |||
| 186 | #define WM8994_AIF1_DAC2_EQ_BAND_5_A 0x4B1 | 192 | #define WM8994_AIF1_DAC2_EQ_BAND_5_A 0x4B1 |
| 187 | #define WM8994_AIF1_DAC2_EQ_BAND_5_B 0x4B2 | 193 | #define WM8994_AIF1_DAC2_EQ_BAND_5_B 0x4B2 |
| 188 | #define WM8994_AIF1_DAC2_EQ_BAND_5_PG 0x4B3 | 194 | #define WM8994_AIF1_DAC2_EQ_BAND_5_PG 0x4B3 |
| 195 | #define WM8994_AIF1_DAC2_EQ_BAND_1_C 0x4B4 | ||
| 189 | #define WM8994_AIF2_ADC_LEFT_VOLUME 0x500 | 196 | #define WM8994_AIF2_ADC_LEFT_VOLUME 0x500 |
| 190 | #define WM8994_AIF2_ADC_RIGHT_VOLUME 0x501 | 197 | #define WM8994_AIF2_ADC_RIGHT_VOLUME 0x501 |
| 191 | #define WM8994_AIF2_DAC_LEFT_VOLUME 0x502 | 198 | #define WM8994_AIF2_DAC_LEFT_VOLUME 0x502 |
| @@ -219,6 +226,7 @@ | |||
| 219 | #define WM8994_AIF2_EQ_BAND_5_A 0x591 | 226 | #define WM8994_AIF2_EQ_BAND_5_A 0x591 |
| 220 | #define WM8994_AIF2_EQ_BAND_5_B 0x592 | 227 | #define WM8994_AIF2_EQ_BAND_5_B 0x592 |
| 221 | #define WM8994_AIF2_EQ_BAND_5_PG 0x593 | 228 | #define WM8994_AIF2_EQ_BAND_5_PG 0x593 |
| 229 | #define WM8994_AIF2_EQ_BAND_1_C 0x594 | ||
| 222 | #define WM8994_DAC1_MIXER_VOLUMES 0x600 | 230 | #define WM8994_DAC1_MIXER_VOLUMES 0x600 |
| 223 | #define WM8994_DAC1_LEFT_MIXER_ROUTING 0x601 | 231 | #define WM8994_DAC1_LEFT_MIXER_ROUTING 0x601 |
| 224 | #define WM8994_DAC1_RIGHT_MIXER_ROUTING 0x602 | 232 | #define WM8994_DAC1_RIGHT_MIXER_ROUTING 0x602 |
| @@ -265,7 +273,43 @@ | |||
| 265 | #define WM8958_DSP2_RELEASETIME 0xA03 | 273 | #define WM8958_DSP2_RELEASETIME 0xA03 |
| 266 | #define WM8958_DSP2_VERMAJMIN 0xA04 | 274 | #define WM8958_DSP2_VERMAJMIN 0xA04 |
| 267 | #define WM8958_DSP2_VERBUILD 0xA05 | 275 | #define WM8958_DSP2_VERBUILD 0xA05 |
| 276 | #define WM8958_DSP2_TESTREG 0xA06 | ||
| 277 | #define WM8958_DSP2_XORREG 0xA07 | ||
| 278 | #define WM8958_DSP2_SHIFTMAXX 0xA08 | ||
| 279 | #define WM8958_DSP2_SHIFTMAXY 0xA09 | ||
| 280 | #define WM8958_DSP2_SHIFTMAXZ 0xA0A | ||
| 281 | #define WM8958_DSP2_SHIFTMAXEXTLO 0xA0B | ||
| 282 | #define WM8958_DSP2_AESSELECT 0xA0C | ||
| 268 | #define WM8958_DSP2_EXECCONTROL 0xA0D | 283 | #define WM8958_DSP2_EXECCONTROL 0xA0D |
| 284 | #define WM8958_DSP2_SAMPLEBREAK 0xA0E | ||
| 285 | #define WM8958_DSP2_COUNTBREAK 0xA0F | ||
| 286 | #define WM8958_DSP2_INTSTATUS 0xA10 | ||
| 287 | #define WM8958_DSP2_EVENTSTATUS 0xA11 | ||
| 288 | #define WM8958_DSP2_INTMASK 0xA12 | ||
| 289 | #define WM8958_DSP2_CONFIGDWIDTH 0xA13 | ||
| 290 | #define WM8958_DSP2_CONFIGINSTR 0xA14 | ||
| 291 | #define WM8958_DSP2_CONFIGDMEM 0xA15 | ||
| 292 | #define WM8958_DSP2_CONFIGDELAYS 0xA16 | ||
| 293 | #define WM8958_DSP2_CONFIGNUMIO 0xA17 | ||
| 294 | #define WM8958_DSP2_CONFIGEXTDEPTH 0xA18 | ||
| 295 | #define WM8958_DSP2_CONFIGMULTIPLIER 0xA19 | ||
| 296 | #define WM8958_DSP2_CONFIGCTRLDWIDTH 0xA1A | ||
| 297 | #define WM8958_DSP2_CONFIGPIPELINE 0xA1B | ||
| 298 | #define WM8958_DSP2_SHIFTMAXEXTHI 0xA1C | ||
| 299 | #define WM8958_DSP2_SWVERSIONREG 0xA1D | ||
| 300 | #define WM8958_DSP2_CONFIGXMEM 0xA1E | ||
| 301 | #define WM8958_DSP2_CONFIGYMEM 0xA1F | ||
| 302 | #define WM8958_DSP2_CONFIGZMEM 0xA20 | ||
| 303 | #define WM8958_FW_BUILD_1 0x2000 | ||
| 304 | #define WM8958_FW_BUILD_0 0x2001 | ||
| 305 | #define WM8958_FW_ID_1 0x2002 | ||
| 306 | #define WM8958_FW_ID_0 0x2003 | ||
| 307 | #define WM8958_FW_MAJOR_1 0x2004 | ||
| 308 | #define WM8958_FW_MAJOR_0 0x2005 | ||
| 309 | #define WM8958_FW_MINOR_1 0x2006 | ||
| 310 | #define WM8958_FW_MINOR_0 0x2007 | ||
| 311 | #define WM8958_FW_PATCH_1 0x2008 | ||
| 312 | #define WM8958_FW_PATCH_0 0x2009 | ||
| 269 | #define WM8958_MBC_BAND_2_LOWER_CUTOFF_C1_1 0x2200 | 313 | #define WM8958_MBC_BAND_2_LOWER_CUTOFF_C1_1 0x2200 |
| 270 | #define WM8958_MBC_BAND_2_LOWER_CUTOFF_C1_2 0x2201 | 314 | #define WM8958_MBC_BAND_2_LOWER_CUTOFF_C1_2 0x2201 |
| 271 | #define WM8958_MBC_BAND_2_LOWER_CUTOFF_C2_1 0x2202 | 315 | #define WM8958_MBC_BAND_2_LOWER_CUTOFF_C2_1 0x2202 |
| @@ -334,6 +378,14 @@ | |||
| 334 | #define WM8958_MBC_B2_PG2_2 0x242D | 378 | #define WM8958_MBC_B2_PG2_2 0x242D |
| 335 | #define WM8958_MBC_B1_PG2_1 0x242E | 379 | #define WM8958_MBC_B1_PG2_1 0x242E |
| 336 | #define WM8958_MBC_B1_PG2_2 0x242F | 380 | #define WM8958_MBC_B1_PG2_2 0x242F |
| 381 | #define WM8958_MBC_CROSSOVER_1 0x2600 | ||
| 382 | #define WM8958_MBC_CROSSOVER_2 0x2601 | ||
| 383 | #define WM8958_MBC_HPF_1 0x2602 | ||
| 384 | #define WM8958_MBC_HPF_2 0x2603 | ||
| 385 | #define WM8958_MBC_LPF_1 0x2606 | ||
| 386 | #define WM8958_MBC_LPF_2 0x2607 | ||
| 387 | #define WM8958_MBC_RMS_LIMIT_1 0x260A | ||
| 388 | #define WM8958_MBC_RMS_LIMIT_2 0x260B | ||
| 337 | #define WM8994_WRITE_SEQUENCER_0 0x3000 | 389 | #define WM8994_WRITE_SEQUENCER_0 0x3000 |
| 338 | #define WM8994_WRITE_SEQUENCER_1 0x3001 | 390 | #define WM8994_WRITE_SEQUENCER_1 0x3001 |
| 339 | #define WM8994_WRITE_SEQUENCER_2 0x3002 | 391 | #define WM8994_WRITE_SEQUENCER_2 0x3002 |
| @@ -2393,6 +2445,10 @@ | |||
| 2393 | /* | 2445 | /* |
| 2394 | * R548 (0x224) - FLL1 Control (5) | 2446 | * R548 (0x224) - FLL1 Control (5) |
| 2395 | */ | 2447 | */ |
| 2448 | #define WM8958_FLL1_BYP 0x8000 /* FLL1_BYP */ | ||
| 2449 | #define WM8958_FLL1_BYP_MASK 0x8000 /* FLL1_BYP */ | ||
| 2450 | #define WM8958_FLL1_BYP_SHIFT 15 /* FLL1_BYP */ | ||
| 2451 | #define WM8958_FLL1_BYP_WIDTH 1 /* FLL1_BYP */ | ||
| 2396 | #define WM8994_FLL1_FRC_NCO_VAL_MASK 0x1F80 /* FLL1_FRC_NCO_VAL - [12:7] */ | 2452 | #define WM8994_FLL1_FRC_NCO_VAL_MASK 0x1F80 /* FLL1_FRC_NCO_VAL - [12:7] */ |
| 2397 | #define WM8994_FLL1_FRC_NCO_VAL_SHIFT 7 /* FLL1_FRC_NCO_VAL - [12:7] */ | 2453 | #define WM8994_FLL1_FRC_NCO_VAL_SHIFT 7 /* FLL1_FRC_NCO_VAL - [12:7] */ |
| 2398 | #define WM8994_FLL1_FRC_NCO_VAL_WIDTH 6 /* FLL1_FRC_NCO_VAL - [12:7] */ | 2454 | #define WM8994_FLL1_FRC_NCO_VAL_WIDTH 6 /* FLL1_FRC_NCO_VAL - [12:7] */ |
| @@ -2408,6 +2464,24 @@ | |||
| 2408 | #define WM8994_FLL1_REFCLK_SRC_WIDTH 2 /* FLL1_REFCLK_SRC - [1:0] */ | 2464 | #define WM8994_FLL1_REFCLK_SRC_WIDTH 2 /* FLL1_REFCLK_SRC - [1:0] */ |
| 2409 | 2465 | ||
| 2410 | /* | 2466 | /* |
| 2467 | * R550 (0x226) - FLL1 EFS 1 | ||
| 2468 | */ | ||
| 2469 | #define WM8958_FLL1_LAMBDA_MASK 0xFFFF /* FLL1_LAMBDA - [15:0] */ | ||
| 2470 | #define WM8958_FLL1_LAMBDA_SHIFT 0 /* FLL1_LAMBDA - [15:0] */ | ||
| 2471 | #define WM8958_FLL1_LAMBDA_WIDTH 16 /* FLL1_LAMBDA - [15:0] */ | ||
| 2472 | |||
| 2473 | /* | ||
| 2474 | * R551 (0x227) - FLL1 EFS 2 | ||
| 2475 | */ | ||
| 2476 | #define WM8958_FLL1_LFSR_SEL_MASK 0x0006 /* FLL1_LFSR_SEL - [2:1] */ | ||
| 2477 | #define WM8958_FLL1_LFSR_SEL_SHIFT 1 /* FLL1_LFSR_SEL - [2:1] */ | ||
| 2478 | #define WM8958_FLL1_LFSR_SEL_WIDTH 2 /* FLL1_LFSR_SEL - [2:1] */ | ||
| 2479 | #define WM8958_FLL1_EFS_ENA 0x0001 /* FLL1_EFS_ENA */ | ||
| 2480 | #define WM8958_FLL1_EFS_ENA_MASK 0x0001 /* FLL1_EFS_ENA */ | ||
| 2481 | #define WM8958_FLL1_EFS_ENA_SHIFT 0 /* FLL1_EFS_ENA */ | ||
| 2482 | #define WM8958_FLL1_EFS_ENA_WIDTH 1 /* FLL1_EFS_ENA */ | ||
| 2483 | |||
| 2484 | /* | ||
| 2411 | * R576 (0x240) - FLL2 Control (1) | 2485 | * R576 (0x240) - FLL2 Control (1) |
| 2412 | */ | 2486 | */ |
| 2413 | #define WM8994_FLL2_FRAC 0x0004 /* FLL2_FRAC */ | 2487 | #define WM8994_FLL2_FRAC 0x0004 /* FLL2_FRAC */ |
| @@ -2456,6 +2530,10 @@ | |||
| 2456 | /* | 2530 | /* |
| 2457 | * R580 (0x244) - FLL2 Control (5) | 2531 | * R580 (0x244) - FLL2 Control (5) |
| 2458 | */ | 2532 | */ |
| 2533 | #define WM8958_FLL2_BYP 0x8000 /* FLL2_BYP */ | ||
| 2534 | #define WM8958_FLL2_BYP_MASK 0x8000 /* FLL2_BYP */ | ||
| 2535 | #define WM8958_FLL2_BYP_SHIFT 15 /* FLL2_BYP */ | ||
| 2536 | #define WM8958_FLL2_BYP_WIDTH 1 /* FLL2_BYP */ | ||
| 2459 | #define WM8994_FLL2_FRC_NCO_VAL_MASK 0x1F80 /* FLL2_FRC_NCO_VAL - [12:7] */ | 2537 | #define WM8994_FLL2_FRC_NCO_VAL_MASK 0x1F80 /* FLL2_FRC_NCO_VAL - [12:7] */ |
| 2460 | #define WM8994_FLL2_FRC_NCO_VAL_SHIFT 7 /* FLL2_FRC_NCO_VAL - [12:7] */ | 2538 | #define WM8994_FLL2_FRC_NCO_VAL_SHIFT 7 /* FLL2_FRC_NCO_VAL - [12:7] */ |
| 2461 | #define WM8994_FLL2_FRC_NCO_VAL_WIDTH 6 /* FLL2_FRC_NCO_VAL - [12:7] */ | 2539 | #define WM8994_FLL2_FRC_NCO_VAL_WIDTH 6 /* FLL2_FRC_NCO_VAL - [12:7] */ |
| @@ -2471,6 +2549,24 @@ | |||
| 2471 | #define WM8994_FLL2_REFCLK_SRC_WIDTH 2 /* FLL2_REFCLK_SRC - [1:0] */ | 2549 | #define WM8994_FLL2_REFCLK_SRC_WIDTH 2 /* FLL2_REFCLK_SRC - [1:0] */ |
| 2472 | 2550 | ||
| 2473 | /* | 2551 | /* |
| 2552 | * R582 (0x246) - FLL2 EFS 1 | ||
| 2553 | */ | ||
| 2554 | #define WM8958_FLL2_LAMBDA_MASK 0xFFFF /* FLL2_LAMBDA - [15:0] */ | ||
| 2555 | #define WM8958_FLL2_LAMBDA_SHIFT 0 /* FLL2_LAMBDA - [15:0] */ | ||
| 2556 | #define WM8958_FLL2_LAMBDA_WIDTH 16 /* FLL2_LAMBDA - [15:0] */ | ||
| 2557 | |||
| 2558 | /* | ||
| 2559 | * R583 (0x247) - FLL2 EFS 2 | ||
| 2560 | */ | ||
| 2561 | #define WM8958_FLL2_LFSR_SEL_MASK 0x0006 /* FLL2_LFSR_SEL - [2:1] */ | ||
| 2562 | #define WM8958_FLL2_LFSR_SEL_SHIFT 1 /* FLL2_LFSR_SEL - [2:1] */ | ||
| 2563 | #define WM8958_FLL2_LFSR_SEL_WIDTH 2 /* FLL2_LFSR_SEL - [2:1] */ | ||
| 2564 | #define WM8958_FLL2_EFS_ENA 0x0001 /* FLL2_EFS_ENA */ | ||
| 2565 | #define WM8958_FLL2_EFS_ENA_MASK 0x0001 /* FLL2_EFS_ENA */ | ||
| 2566 | #define WM8958_FLL2_EFS_ENA_SHIFT 0 /* FLL2_EFS_ENA */ | ||
| 2567 | #define WM8958_FLL2_EFS_ENA_WIDTH 1 /* FLL2_EFS_ENA */ | ||
| 2568 | |||
| 2569 | /* | ||
| 2474 | * R768 (0x300) - AIF1 Control (1) | 2570 | * R768 (0x300) - AIF1 Control (1) |
| 2475 | */ | 2571 | */ |
| 2476 | #define WM8994_AIF1ADCL_SRC 0x8000 /* AIF1ADCL_SRC */ | 2572 | #define WM8994_AIF1ADCL_SRC 0x8000 /* AIF1ADCL_SRC */ |
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index ab2c6343361a..92ecf5585fac 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h | |||
| @@ -410,6 +410,9 @@ extern const struct inode_operations nfs_file_inode_operations; | |||
| 410 | extern const struct inode_operations nfs3_file_inode_operations; | 410 | extern const struct inode_operations nfs3_file_inode_operations; |
| 411 | #endif /* CONFIG_NFS_V3 */ | 411 | #endif /* CONFIG_NFS_V3 */ |
| 412 | extern const struct file_operations nfs_file_operations; | 412 | extern const struct file_operations nfs_file_operations; |
| 413 | #ifdef CONFIG_NFS_V4 | ||
| 414 | extern const struct file_operations nfs4_file_operations; | ||
| 415 | #endif /* CONFIG_NFS_V4 */ | ||
| 413 | extern const struct address_space_operations nfs_file_aops; | 416 | extern const struct address_space_operations nfs_file_aops; |
| 414 | extern const struct address_space_operations nfs_dir_aops; | 417 | extern const struct address_space_operations nfs_dir_aops; |
| 415 | 418 | ||
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index c74595ba7094..2a7c533be5dd 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h | |||
| @@ -1192,6 +1192,7 @@ struct nfs_rpc_ops { | |||
| 1192 | const struct dentry_operations *dentry_ops; | 1192 | const struct dentry_operations *dentry_ops; |
| 1193 | const struct inode_operations *dir_inode_ops; | 1193 | const struct inode_operations *dir_inode_ops; |
| 1194 | const struct inode_operations *file_inode_ops; | 1194 | const struct inode_operations *file_inode_ops; |
| 1195 | const struct file_operations *file_ops; | ||
| 1195 | 1196 | ||
| 1196 | int (*getroot) (struct nfs_server *, struct nfs_fh *, | 1197 | int (*getroot) (struct nfs_server *, struct nfs_fh *, |
| 1197 | struct nfs_fsinfo *); | 1198 | struct nfs_fsinfo *); |
diff --git a/include/linux/pci-ats.h b/include/linux/pci-ats.h index e3d0b3890249..7ef68724f0f0 100644 --- a/include/linux/pci-ats.h +++ b/include/linux/pci-ats.h | |||
| @@ -12,7 +12,7 @@ struct pci_ats { | |||
| 12 | unsigned int is_enabled:1; /* Enable bit is set */ | 12 | unsigned int is_enabled:1; /* Enable bit is set */ |
| 13 | }; | 13 | }; |
| 14 | 14 | ||
| 15 | #ifdef CONFIG_PCI_IOV | 15 | #ifdef CONFIG_PCI_ATS |
| 16 | 16 | ||
| 17 | extern int pci_enable_ats(struct pci_dev *dev, int ps); | 17 | extern int pci_enable_ats(struct pci_dev *dev, int ps); |
| 18 | extern void pci_disable_ats(struct pci_dev *dev); | 18 | extern void pci_disable_ats(struct pci_dev *dev); |
| @@ -29,7 +29,7 @@ static inline int pci_ats_enabled(struct pci_dev *dev) | |||
| 29 | return dev->ats && dev->ats->is_enabled; | 29 | return dev->ats && dev->ats->is_enabled; |
| 30 | } | 30 | } |
| 31 | 31 | ||
| 32 | #else /* CONFIG_PCI_IOV */ | 32 | #else /* CONFIG_PCI_ATS */ |
| 33 | 33 | ||
| 34 | static inline int pci_enable_ats(struct pci_dev *dev, int ps) | 34 | static inline int pci_enable_ats(struct pci_dev *dev, int ps) |
| 35 | { | 35 | { |
| @@ -50,7 +50,7 @@ static inline int pci_ats_enabled(struct pci_dev *dev) | |||
| 50 | return 0; | 50 | return 0; |
| 51 | } | 51 | } |
| 52 | 52 | ||
| 53 | #endif /* CONFIG_PCI_IOV */ | 53 | #endif /* CONFIG_PCI_ATS */ |
| 54 | 54 | ||
| 55 | #ifdef CONFIG_PCI_PRI | 55 | #ifdef CONFIG_PCI_PRI |
| 56 | 56 | ||
diff --git a/include/linux/pci.h b/include/linux/pci.h index 337df0d5d5f7..7cda65b5f798 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
| @@ -338,7 +338,7 @@ struct pci_dev { | |||
| 338 | struct list_head msi_list; | 338 | struct list_head msi_list; |
| 339 | #endif | 339 | #endif |
| 340 | struct pci_vpd *vpd; | 340 | struct pci_vpd *vpd; |
| 341 | #ifdef CONFIG_PCI_IOV | 341 | #ifdef CONFIG_PCI_ATS |
| 342 | union { | 342 | union { |
| 343 | struct pci_sriov *sriov; /* SR-IOV capability related */ | 343 | struct pci_sriov *sriov; /* SR-IOV capability related */ |
| 344 | struct pci_dev *physfn; /* the PF this VF is associated with */ | 344 | struct pci_dev *physfn; /* the PF this VF is associated with */ |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 3fdf251389de..172ba70306d1 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
| @@ -2405,6 +2405,8 @@ | |||
| 2405 | 2405 | ||
| 2406 | #define PCI_VENDOR_ID_AZWAVE 0x1a3b | 2406 | #define PCI_VENDOR_ID_AZWAVE 0x1a3b |
| 2407 | 2407 | ||
| 2408 | #define PCI_VENDOR_ID_ASMEDIA 0x1b21 | ||
| 2409 | |||
| 2408 | #define PCI_VENDOR_ID_TEKRAM 0x1de1 | 2410 | #define PCI_VENDOR_ID_TEKRAM 0x1de1 |
| 2409 | #define PCI_DEVICE_ID_TEKRAM_DC290 0xdc29 | 2411 | #define PCI_DEVICE_ID_TEKRAM_DC290 0xdc29 |
| 2410 | 2412 | ||
diff --git a/include/linux/pinctrl/pinctrl.h b/include/linux/pinctrl/pinctrl.h index 3605e947fa90..04c011038f32 100644 --- a/include/linux/pinctrl/pinctrl.h +++ b/include/linux/pinctrl/pinctrl.h | |||
| @@ -121,6 +121,7 @@ extern const char *pinctrl_dev_get_name(struct pinctrl_dev *pctldev); | |||
| 121 | extern void *pinctrl_dev_get_drvdata(struct pinctrl_dev *pctldev); | 121 | extern void *pinctrl_dev_get_drvdata(struct pinctrl_dev *pctldev); |
| 122 | #else | 122 | #else |
| 123 | 123 | ||
| 124 | struct pinctrl_dev; | ||
| 124 | 125 | ||
| 125 | /* Sufficiently stupid default function when pinctrl is not in use */ | 126 | /* Sufficiently stupid default function when pinctrl is not in use */ |
| 126 | static inline bool pin_is_valid(struct pinctrl_dev *pctldev, int pin) | 127 | static inline bool pin_is_valid(struct pinctrl_dev *pctldev, int pin) |
diff --git a/include/linux/pm.h b/include/linux/pm.h index f15acb646813..5c4c8b18c8b7 100644 --- a/include/linux/pm.h +++ b/include/linux/pm.h | |||
| @@ -447,6 +447,7 @@ struct dev_pm_info { | |||
| 447 | unsigned int async_suspend:1; | 447 | unsigned int async_suspend:1; |
| 448 | bool is_prepared:1; /* Owned by the PM core */ | 448 | bool is_prepared:1; /* Owned by the PM core */ |
| 449 | bool is_suspended:1; /* Ditto */ | 449 | bool is_suspended:1; /* Ditto */ |
| 450 | bool ignore_children:1; | ||
| 450 | spinlock_t lock; | 451 | spinlock_t lock; |
| 451 | #ifdef CONFIG_PM_SLEEP | 452 | #ifdef CONFIG_PM_SLEEP |
| 452 | struct list_head entry; | 453 | struct list_head entry; |
| @@ -464,7 +465,6 @@ struct dev_pm_info { | |||
| 464 | atomic_t usage_count; | 465 | atomic_t usage_count; |
| 465 | atomic_t child_count; | 466 | atomic_t child_count; |
| 466 | unsigned int disable_depth:3; | 467 | unsigned int disable_depth:3; |
| 467 | unsigned int ignore_children:1; | ||
| 468 | unsigned int idle_notification:1; | 468 | unsigned int idle_notification:1; |
| 469 | unsigned int request_pending:1; | 469 | unsigned int request_pending:1; |
| 470 | unsigned int deferred_resume:1; | 470 | unsigned int deferred_resume:1; |
diff --git a/include/linux/pm_runtime.h b/include/linux/pm_runtime.h index d8d903619642..d3085e72a0ee 100644 --- a/include/linux/pm_runtime.h +++ b/include/linux/pm_runtime.h | |||
| @@ -52,11 +52,6 @@ static inline bool pm_children_suspended(struct device *dev) | |||
| 52 | || !atomic_read(&dev->power.child_count); | 52 | || !atomic_read(&dev->power.child_count); |
| 53 | } | 53 | } |
| 54 | 54 | ||
| 55 | static inline void pm_suspend_ignore_children(struct device *dev, bool enable) | ||
| 56 | { | ||
| 57 | dev->power.ignore_children = enable; | ||
| 58 | } | ||
| 59 | |||
| 60 | static inline void pm_runtime_get_noresume(struct device *dev) | 55 | static inline void pm_runtime_get_noresume(struct device *dev) |
| 61 | { | 56 | { |
| 62 | atomic_inc(&dev->power.usage_count); | 57 | atomic_inc(&dev->power.usage_count); |
| @@ -130,7 +125,6 @@ static inline void pm_runtime_allow(struct device *dev) {} | |||
| 130 | static inline void pm_runtime_forbid(struct device *dev) {} | 125 | static inline void pm_runtime_forbid(struct device *dev) {} |
| 131 | 126 | ||
| 132 | static inline bool pm_children_suspended(struct device *dev) { return false; } | 127 | static inline bool pm_children_suspended(struct device *dev) { return false; } |
| 133 | static inline void pm_suspend_ignore_children(struct device *dev, bool en) {} | ||
| 134 | static inline void pm_runtime_get_noresume(struct device *dev) {} | 128 | static inline void pm_runtime_get_noresume(struct device *dev) {} |
| 135 | static inline void pm_runtime_put_noidle(struct device *dev) {} | 129 | static inline void pm_runtime_put_noidle(struct device *dev) {} |
| 136 | static inline bool device_run_wake(struct device *dev) { return false; } | 130 | static inline bool device_run_wake(struct device *dev) { return false; } |
diff --git a/include/linux/regmap.h b/include/linux/regmap.h index 32043a9749e6..946868c67cd6 100644 --- a/include/linux/regmap.h +++ b/include/linux/regmap.h | |||
| @@ -25,7 +25,7 @@ enum regcache_type { | |||
| 25 | REGCACHE_NONE, | 25 | REGCACHE_NONE, |
| 26 | REGCACHE_INDEXED, | 26 | REGCACHE_INDEXED, |
| 27 | REGCACHE_RBTREE, | 27 | REGCACHE_RBTREE, |
| 28 | REGCACHE_LZO | 28 | REGCACHE_COMPRESSED |
| 29 | }; | 29 | }; |
| 30 | 30 | ||
| 31 | /** | 31 | /** |
| @@ -129,6 +129,8 @@ struct regmap *regmap_init_spi(struct spi_device *dev, | |||
| 129 | const struct regmap_config *config); | 129 | const struct regmap_config *config); |
| 130 | 130 | ||
| 131 | void regmap_exit(struct regmap *map); | 131 | void regmap_exit(struct regmap *map); |
| 132 | int regmap_reinit_cache(struct regmap *map, | ||
| 133 | const struct regmap_config *config); | ||
| 132 | int regmap_write(struct regmap *map, unsigned int reg, unsigned int val); | 134 | int regmap_write(struct regmap *map, unsigned int reg, unsigned int val); |
| 133 | int regmap_raw_write(struct regmap *map, unsigned int reg, | 135 | int regmap_raw_write(struct regmap *map, unsigned int reg, |
| 134 | const void *val, size_t val_len); | 136 | const void *val, size_t val_len); |
| @@ -145,4 +147,52 @@ void regcache_cache_only(struct regmap *map, bool enable); | |||
| 145 | void regcache_cache_bypass(struct regmap *map, bool enable); | 147 | void regcache_cache_bypass(struct regmap *map, bool enable); |
| 146 | void regcache_mark_dirty(struct regmap *map); | 148 | void regcache_mark_dirty(struct regmap *map); |
| 147 | 149 | ||
| 150 | /** | ||
| 151 | * Description of an IRQ for the generic regmap irq_chip. | ||
| 152 | * | ||
| 153 | * @reg_offset: Offset of the status/mask register within the bank | ||
| 154 | * @mask: Mask used to flag/control the register. | ||
| 155 | */ | ||
| 156 | struct regmap_irq { | ||
| 157 | unsigned int reg_offset; | ||
| 158 | unsigned int mask; | ||
| 159 | }; | ||
| 160 | |||
| 161 | /** | ||
| 162 | * Description of a generic regmap irq_chip. This is not intended to | ||
| 163 | * handle every possible interrupt controller, but it should handle a | ||
| 164 | * substantial proportion of those that are found in the wild. | ||
| 165 | * | ||
| 166 | * @name: Descriptive name for IRQ controller. | ||
| 167 | * | ||
| 168 | * @status_base: Base status register address. | ||
| 169 | * @mask_base: Base mask register address. | ||
| 170 | * @ack_base: Base ack address. If zero then the chip is clear on read. | ||
| 171 | * | ||
| 172 | * @num_regs: Number of registers in each control bank. | ||
| 173 | * @irqs: Descriptors for individual IRQs. Interrupt numbers are | ||
| 174 | * assigned based on the index in the array of the interrupt. | ||
| 175 | * @num_irqs: Number of descriptors. | ||
| 176 | */ | ||
| 177 | struct regmap_irq_chip { | ||
| 178 | const char *name; | ||
| 179 | |||
| 180 | unsigned int status_base; | ||
| 181 | unsigned int mask_base; | ||
| 182 | unsigned int ack_base; | ||
| 183 | |||
| 184 | int num_regs; | ||
| 185 | |||
| 186 | const struct regmap_irq *irqs; | ||
| 187 | int num_irqs; | ||
| 188 | }; | ||
| 189 | |||
| 190 | struct regmap_irq_chip_data; | ||
| 191 | |||
| 192 | int regmap_add_irq_chip(struct regmap *map, int irq, int irq_flags, | ||
| 193 | int irq_base, struct regmap_irq_chip *chip, | ||
| 194 | struct regmap_irq_chip_data **data); | ||
| 195 | void regmap_del_irq_chip(int irq, struct regmap_irq_chip_data *data); | ||
| 196 | int regmap_irq_chip_get_base(struct regmap_irq_chip_data *data); | ||
| 197 | |||
| 148 | #endif | 198 | #endif |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 68daf4f27e2c..1c4f3e9b9bc5 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
| @@ -1521,7 +1521,6 @@ struct task_struct { | |||
| 1521 | #ifdef CONFIG_FAULT_INJECTION | 1521 | #ifdef CONFIG_FAULT_INJECTION |
| 1522 | int make_it_fail; | 1522 | int make_it_fail; |
| 1523 | #endif | 1523 | #endif |
| 1524 | struct prop_local_single dirties; | ||
| 1525 | /* | 1524 | /* |
| 1526 | * when (nr_dirtied >= nr_dirtied_pause), it's time to call | 1525 | * when (nr_dirtied >= nr_dirtied_pause), it's time to call |
| 1527 | * balance_dirty_pages() for some dirty throttling pause | 1526 | * balance_dirty_pages() for some dirty throttling pause |
diff --git a/include/linux/serial.h b/include/linux/serial.h index 97ff8e27a6cc..3d86517fe7d5 100644 --- a/include/linux/serial.h +++ b/include/linux/serial.h | |||
| @@ -207,13 +207,15 @@ struct serial_icounter_struct { | |||
| 207 | 207 | ||
| 208 | struct serial_rs485 { | 208 | struct serial_rs485 { |
| 209 | __u32 flags; /* RS485 feature flags */ | 209 | __u32 flags; /* RS485 feature flags */ |
| 210 | #define SER_RS485_ENABLED (1 << 0) | 210 | #define SER_RS485_ENABLED (1 << 0) /* If enabled */ |
| 211 | #define SER_RS485_RTS_ON_SEND (1 << 1) | 211 | #define SER_RS485_RTS_ON_SEND (1 << 1) /* Logical level for |
| 212 | #define SER_RS485_RTS_AFTER_SEND (1 << 2) | 212 | RTS pin when |
| 213 | #define SER_RS485_RTS_BEFORE_SEND (1 << 3) | 213 | sending */ |
| 214 | #define SER_RS485_RTS_AFTER_SEND (1 << 2) /* Logical level for | ||
| 215 | RTS pin after sent*/ | ||
| 214 | #define SER_RS485_RX_DURING_TX (1 << 4) | 216 | #define SER_RS485_RX_DURING_TX (1 << 4) |
| 215 | __u32 delay_rts_before_send; /* Milliseconds */ | 217 | __u32 delay_rts_before_send; /* Delay before send (milliseconds) */ |
| 216 | __u32 delay_rts_after_send; /* Milliseconds */ | 218 | __u32 delay_rts_after_send; /* Delay after send (milliseconds) */ |
| 217 | __u32 padding[5]; /* Memory is cheap, new structs | 219 | __u32 padding[5]; /* Memory is cheap, new structs |
| 218 | are a royal PITA .. */ | 220 | are a royal PITA .. */ |
| 219 | }; | 221 | }; |
diff --git a/include/linux/serial_sci.h b/include/linux/serial_sci.h index 0efa1f10bc2b..369273a52679 100644 --- a/include/linux/serial_sci.h +++ b/include/linux/serial_sci.h | |||
| @@ -67,6 +67,7 @@ enum { | |||
| 67 | SCIx_IRDA_REGTYPE, | 67 | SCIx_IRDA_REGTYPE, |
| 68 | SCIx_SCIFA_REGTYPE, | 68 | SCIx_SCIFA_REGTYPE, |
| 69 | SCIx_SCIFB_REGTYPE, | 69 | SCIx_SCIFB_REGTYPE, |
| 70 | SCIx_SH2_SCIF_FIFODATA_REGTYPE, | ||
| 70 | SCIx_SH3_SCIF_REGTYPE, | 71 | SCIx_SH3_SCIF_REGTYPE, |
| 71 | SCIx_SH4_SCIF_REGTYPE, | 72 | SCIx_SH4_SCIF_REGTYPE, |
| 72 | SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE, | 73 | SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE, |
diff --git a/include/linux/sh_clk.h b/include/linux/sh_clk.h index 3ccf18648d0a..a20831cf336a 100644 --- a/include/linux/sh_clk.h +++ b/include/linux/sh_clk.h | |||
| @@ -52,7 +52,6 @@ struct clk { | |||
| 52 | 52 | ||
| 53 | unsigned long arch_flags; | 53 | unsigned long arch_flags; |
| 54 | void *priv; | 54 | void *priv; |
| 55 | struct dentry *dentry; | ||
| 56 | struct clk_mapping *mapping; | 55 | struct clk_mapping *mapping; |
| 57 | struct cpufreq_frequency_table *freq_table; | 56 | struct cpufreq_frequency_table *freq_table; |
| 58 | unsigned int nr_freqs; | 57 | unsigned int nr_freqs; |
| @@ -94,6 +93,9 @@ int clk_rate_table_find(struct clk *clk, | |||
| 94 | long clk_rate_div_range_round(struct clk *clk, unsigned int div_min, | 93 | long clk_rate_div_range_round(struct clk *clk, unsigned int div_min, |
| 95 | unsigned int div_max, unsigned long rate); | 94 | unsigned int div_max, unsigned long rate); |
| 96 | 95 | ||
| 96 | long clk_rate_mult_range_round(struct clk *clk, unsigned int mult_min, | ||
| 97 | unsigned int mult_max, unsigned long rate); | ||
| 98 | |||
| 97 | long clk_round_parent(struct clk *clk, unsigned long target, | 99 | long clk_round_parent(struct clk *clk, unsigned long target, |
| 98 | unsigned long *best_freq, unsigned long *parent_freq, | 100 | unsigned long *best_freq, unsigned long *parent_freq, |
| 99 | unsigned int div_min, unsigned int div_max); | 101 | unsigned int div_min, unsigned int div_max); |
diff --git a/include/linux/sh_pfc.h b/include/linux/sh_pfc.h index bc8c9208f7e2..8446789216e5 100644 --- a/include/linux/sh_pfc.h +++ b/include/linux/sh_pfc.h | |||
| @@ -104,4 +104,80 @@ struct pinmux_info { | |||
| 104 | int register_pinmux(struct pinmux_info *pip); | 104 | int register_pinmux(struct pinmux_info *pip); |
| 105 | int unregister_pinmux(struct pinmux_info *pip); | 105 | int unregister_pinmux(struct pinmux_info *pip); |
| 106 | 106 | ||
| 107 | /* helper macro for port */ | ||
| 108 | #define PORT_1(fn, pfx, sfx) fn(pfx, sfx) | ||
| 109 | |||
| 110 | #define PORT_10(fn, pfx, sfx) \ | ||
| 111 | PORT_1(fn, pfx##0, sfx), PORT_1(fn, pfx##1, sfx), \ | ||
| 112 | PORT_1(fn, pfx##2, sfx), PORT_1(fn, pfx##3, sfx), \ | ||
| 113 | PORT_1(fn, pfx##4, sfx), PORT_1(fn, pfx##5, sfx), \ | ||
| 114 | PORT_1(fn, pfx##6, sfx), PORT_1(fn, pfx##7, sfx), \ | ||
| 115 | PORT_1(fn, pfx##8, sfx), PORT_1(fn, pfx##9, sfx) | ||
| 116 | |||
| 117 | #define PORT_90(fn, pfx, sfx) \ | ||
| 118 | PORT_10(fn, pfx##1, sfx), PORT_10(fn, pfx##2, sfx), \ | ||
| 119 | PORT_10(fn, pfx##3, sfx), PORT_10(fn, pfx##4, sfx), \ | ||
| 120 | PORT_10(fn, pfx##5, sfx), PORT_10(fn, pfx##6, sfx), \ | ||
| 121 | PORT_10(fn, pfx##7, sfx), PORT_10(fn, pfx##8, sfx), \ | ||
| 122 | PORT_10(fn, pfx##9, sfx) | ||
| 123 | |||
| 124 | #define _PORT_ALL(pfx, sfx) pfx##_##sfx | ||
| 125 | #define _GPIO_PORT(pfx, sfx) PINMUX_GPIO(GPIO_PORT##pfx, PORT##pfx##_DATA) | ||
| 126 | #define PORT_ALL(str) CPU_ALL_PORT(_PORT_ALL, PORT, str) | ||
| 127 | #define GPIO_PORT_ALL() CPU_ALL_PORT(_GPIO_PORT, , unused) | ||
| 128 | #define GPIO_FN(str) PINMUX_GPIO(GPIO_FN_##str, str##_MARK) | ||
| 129 | |||
| 130 | /* helper macro for pinmux_enum_t */ | ||
| 131 | #define PORT_DATA_I(nr) \ | ||
| 132 | PINMUX_DATA(PORT##nr##_DATA, PORT##nr##_FN0, PORT##nr##_IN) | ||
| 133 | |||
| 134 | #define PORT_DATA_I_PD(nr) \ | ||
| 135 | PINMUX_DATA(PORT##nr##_DATA, PORT##nr##_FN0, \ | ||
| 136 | PORT##nr##_IN, PORT##nr##_IN_PD) | ||
| 137 | |||
| 138 | #define PORT_DATA_I_PU(nr) \ | ||
| 139 | PINMUX_DATA(PORT##nr##_DATA, PORT##nr##_FN0, \ | ||
| 140 | PORT##nr##_IN, PORT##nr##_IN_PU) | ||
| 141 | |||
| 142 | #define PORT_DATA_I_PU_PD(nr) \ | ||
| 143 | PINMUX_DATA(PORT##nr##_DATA, PORT##nr##_FN0, \ | ||
| 144 | PORT##nr##_IN, PORT##nr##_IN_PD, PORT##nr##_IN_PU) | ||
| 145 | |||
| 146 | #define PORT_DATA_O(nr) \ | ||
| 147 | PINMUX_DATA(PORT##nr##_DATA, PORT##nr##_FN0, PORT##nr##_OUT) | ||
| 148 | |||
| 149 | #define PORT_DATA_IO(nr) \ | ||
| 150 | PINMUX_DATA(PORT##nr##_DATA, PORT##nr##_FN0, PORT##nr##_OUT, \ | ||
| 151 | PORT##nr##_IN) | ||
| 152 | |||
| 153 | #define PORT_DATA_IO_PD(nr) \ | ||
| 154 | PINMUX_DATA(PORT##nr##_DATA, PORT##nr##_FN0, PORT##nr##_OUT, \ | ||
| 155 | PORT##nr##_IN, PORT##nr##_IN_PD) | ||
| 156 | |||
| 157 | #define PORT_DATA_IO_PU(nr) \ | ||
| 158 | PINMUX_DATA(PORT##nr##_DATA, PORT##nr##_FN0, PORT##nr##_OUT, \ | ||
| 159 | PORT##nr##_IN, PORT##nr##_IN_PU) | ||
| 160 | |||
| 161 | #define PORT_DATA_IO_PU_PD(nr) \ | ||
| 162 | PINMUX_DATA(PORT##nr##_DATA, PORT##nr##_FN0, PORT##nr##_OUT, \ | ||
| 163 | PORT##nr##_IN, PORT##nr##_IN_PD, PORT##nr##_IN_PU) | ||
| 164 | |||
| 165 | /* helper macro for top 4 bits in PORTnCR */ | ||
| 166 | #define _PCRH(in, in_pd, in_pu, out) \ | ||
| 167 | 0, (out), (in), 0, \ | ||
| 168 | 0, 0, 0, 0, \ | ||
| 169 | 0, 0, (in_pd), 0, \ | ||
| 170 | 0, 0, (in_pu), 0 | ||
| 171 | |||
| 172 | #define PORTCR(nr, reg) \ | ||
| 173 | { \ | ||
| 174 | PINMUX_CFG_REG("PORT" nr "CR", reg, 8, 4) { \ | ||
| 175 | _PCRH(PORT##nr##_IN, PORT##nr##_IN_PD, \ | ||
| 176 | PORT##nr##_IN_PU, PORT##nr##_OUT), \ | ||
| 177 | PORT##nr##_FN0, PORT##nr##_FN1, \ | ||
| 178 | PORT##nr##_FN2, PORT##nr##_FN3, \ | ||
| 179 | PORT##nr##_FN4, PORT##nr##_FN5, \ | ||
| 180 | PORT##nr##_FN6, PORT##nr##_FN7 } \ | ||
| 181 | } | ||
| 182 | |||
| 107 | #endif /* __SH_PFC_H */ | 183 | #endif /* __SH_PFC_H */ |
diff --git a/include/linux/virtio_config.h b/include/linux/virtio_config.h index add4790b21fe..e9e72bda1b72 100644 --- a/include/linux/virtio_config.h +++ b/include/linux/virtio_config.h | |||
| @@ -85,6 +85,8 @@ | |||
| 85 | * @reset: reset the device | 85 | * @reset: reset the device |
| 86 | * vdev: the virtio device | 86 | * vdev: the virtio device |
| 87 | * After this, status and feature negotiation must be done again | 87 | * After this, status and feature negotiation must be done again |
| 88 | * Device must not be reset from its vq/config callbacks, or in | ||
| 89 | * parallel with being added/removed. | ||
| 88 | * @find_vqs: find virtqueues and instantiate them. | 90 | * @find_vqs: find virtqueues and instantiate them. |
| 89 | * vdev: the virtio_device | 91 | * vdev: the virtio_device |
| 90 | * nvqs: the number of virtqueues to find | 92 | * nvqs: the number of virtqueues to find |
diff --git a/include/linux/virtio_mmio.h b/include/linux/virtio_mmio.h index 27c7edefbc86..5c7b6f0daef8 100644 --- a/include/linux/virtio_mmio.h +++ b/include/linux/virtio_mmio.h | |||
| @@ -63,7 +63,7 @@ | |||
| 63 | #define VIRTIO_MMIO_GUEST_FEATURES 0x020 | 63 | #define VIRTIO_MMIO_GUEST_FEATURES 0x020 |
| 64 | 64 | ||
| 65 | /* Activated features set selector - Write Only */ | 65 | /* Activated features set selector - Write Only */ |
| 66 | #define VIRTIO_MMIO_GUEST_FEATURES_SET 0x024 | 66 | #define VIRTIO_MMIO_GUEST_FEATURES_SEL 0x024 |
| 67 | 67 | ||
| 68 | /* Guest's memory page size in bytes - Write Only */ | 68 | /* Guest's memory page size in bytes - Write Only */ |
| 69 | #define VIRTIO_MMIO_GUEST_PAGE_SIZE 0x028 | 69 | #define VIRTIO_MMIO_GUEST_PAGE_SIZE 0x028 |
diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h index 687fb11e2010..4bde182fcf93 100644 --- a/include/linux/vmalloc.h +++ b/include/linux/vmalloc.h | |||
| @@ -119,7 +119,7 @@ unmap_kernel_range(unsigned long addr, unsigned long size) | |||
| 119 | #endif | 119 | #endif |
| 120 | 120 | ||
| 121 | /* Allocate/destroy a 'vmalloc' VM area. */ | 121 | /* Allocate/destroy a 'vmalloc' VM area. */ |
| 122 | extern struct vm_struct *alloc_vm_area(size_t size); | 122 | extern struct vm_struct *alloc_vm_area(size_t size, pte_t **ptes); |
| 123 | extern void free_vm_area(struct vm_struct *area); | 123 | extern void free_vm_area(struct vm_struct *area); |
| 124 | 124 | ||
| 125 | /* for /dev/kmem */ | 125 | /* for /dev/kmem */ |
