mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-16 14:30:06 -04:00
Merge drm/drm-next into drm-xe-next
Needed to get tracing cleanup and add mmio tracing series. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This commit is contained in:
@@ -22,7 +22,7 @@
|
||||
#include <linux/units.h>
|
||||
|
||||
#define CREATE_TRACE_POINTS
|
||||
#include <trace/events/thermal_pressure.h>
|
||||
#include <trace/events/hw_pressure.h>
|
||||
|
||||
static DEFINE_PER_CPU(struct scale_freq_data __rcu *, sft_data);
|
||||
static struct cpumask scale_freq_counters_mask;
|
||||
@@ -160,26 +160,26 @@ void topology_set_cpu_scale(unsigned int cpu, unsigned long capacity)
|
||||
per_cpu(cpu_scale, cpu) = capacity;
|
||||
}
|
||||
|
||||
DEFINE_PER_CPU(unsigned long, thermal_pressure);
|
||||
DEFINE_PER_CPU(unsigned long, hw_pressure);
|
||||
|
||||
/**
|
||||
* topology_update_thermal_pressure() - Update thermal pressure for CPUs
|
||||
* topology_update_hw_pressure() - Update HW pressure for CPUs
|
||||
* @cpus : The related CPUs for which capacity has been reduced
|
||||
* @capped_freq : The maximum allowed frequency that CPUs can run at
|
||||
*
|
||||
* Update the value of thermal pressure for all @cpus in the mask. The
|
||||
* Update the value of HW pressure for all @cpus in the mask. The
|
||||
* cpumask should include all (online+offline) affected CPUs, to avoid
|
||||
* operating on stale data when hot-plug is used for some CPUs. The
|
||||
* @capped_freq reflects the currently allowed max CPUs frequency due to
|
||||
* thermal capping. It might be also a boost frequency value, which is bigger
|
||||
* HW capping. It might be also a boost frequency value, which is bigger
|
||||
* than the internal 'capacity_freq_ref' max frequency. In such case the
|
||||
* pressure value should simply be removed, since this is an indication that
|
||||
* there is no thermal throttling. The @capped_freq must be provided in kHz.
|
||||
* there is no HW throttling. The @capped_freq must be provided in kHz.
|
||||
*/
|
||||
void topology_update_thermal_pressure(const struct cpumask *cpus,
|
||||
void topology_update_hw_pressure(const struct cpumask *cpus,
|
||||
unsigned long capped_freq)
|
||||
{
|
||||
unsigned long max_capacity, capacity, th_pressure;
|
||||
unsigned long max_capacity, capacity, pressure;
|
||||
u32 max_freq;
|
||||
int cpu;
|
||||
|
||||
@@ -189,21 +189,21 @@ void topology_update_thermal_pressure(const struct cpumask *cpus,
|
||||
|
||||
/*
|
||||
* Handle properly the boost frequencies, which should simply clean
|
||||
* the thermal pressure value.
|
||||
* the HW pressure value.
|
||||
*/
|
||||
if (max_freq <= capped_freq)
|
||||
capacity = max_capacity;
|
||||
else
|
||||
capacity = mult_frac(max_capacity, capped_freq, max_freq);
|
||||
|
||||
th_pressure = max_capacity - capacity;
|
||||
pressure = max_capacity - capacity;
|
||||
|
||||
trace_thermal_pressure_update(cpu, th_pressure);
|
||||
trace_hw_pressure_update(cpu, pressure);
|
||||
|
||||
for_each_cpu(cpu, cpus)
|
||||
WRITE_ONCE(per_cpu(thermal_pressure, cpu), th_pressure);
|
||||
WRITE_ONCE(per_cpu(hw_pressure, cpu), pressure);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(topology_update_thermal_pressure);
|
||||
EXPORT_SYMBOL_GPL(topology_update_hw_pressure);
|
||||
|
||||
static ssize_t cpu_capacity_show(struct device *dev,
|
||||
struct device_attribute *attr,
|
||||
|
||||
@@ -192,11 +192,14 @@ extern struct kset *devices_kset;
|
||||
void devices_kset_move_last(struct device *dev);
|
||||
|
||||
#if defined(CONFIG_MODULES) && defined(CONFIG_SYSFS)
|
||||
void module_add_driver(struct module *mod, struct device_driver *drv);
|
||||
int module_add_driver(struct module *mod, struct device_driver *drv);
|
||||
void module_remove_driver(struct device_driver *drv);
|
||||
#else
|
||||
static inline void module_add_driver(struct module *mod,
|
||||
struct device_driver *drv) { }
|
||||
static inline int module_add_driver(struct module *mod,
|
||||
struct device_driver *drv)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
static inline void module_remove_driver(struct device_driver *drv) { }
|
||||
#endif
|
||||
|
||||
|
||||
@@ -674,7 +674,12 @@ int bus_add_driver(struct device_driver *drv)
|
||||
if (error)
|
||||
goto out_del_list;
|
||||
}
|
||||
module_add_driver(drv->owner, drv);
|
||||
error = module_add_driver(drv->owner, drv);
|
||||
if (error) {
|
||||
printk(KERN_ERR "%s: failed to create module links for %s\n",
|
||||
__func__, drv->name);
|
||||
goto out_detach;
|
||||
}
|
||||
|
||||
error = driver_create_file(drv, &driver_attr_uevent);
|
||||
if (error) {
|
||||
@@ -699,6 +704,8 @@ int bus_add_driver(struct device_driver *drv)
|
||||
|
||||
return 0;
|
||||
|
||||
out_detach:
|
||||
driver_detach(drv);
|
||||
out_del_list:
|
||||
klist_del(&priv->knode_bus);
|
||||
out_unregister:
|
||||
|
||||
@@ -2346,8 +2346,6 @@ static void fw_devlink_link_device(struct device *dev)
|
||||
|
||||
/* Device links support end. */
|
||||
|
||||
int (*platform_notify)(struct device *dev) = NULL;
|
||||
int (*platform_notify_remove)(struct device *dev) = NULL;
|
||||
static struct kobject *dev_kobj;
|
||||
|
||||
/* /sys/dev/char */
|
||||
@@ -2395,16 +2393,10 @@ static void device_platform_notify(struct device *dev)
|
||||
acpi_device_notify(dev);
|
||||
|
||||
software_node_notify(dev);
|
||||
|
||||
if (platform_notify)
|
||||
platform_notify(dev);
|
||||
}
|
||||
|
||||
static void device_platform_notify_remove(struct device *dev)
|
||||
{
|
||||
if (platform_notify_remove)
|
||||
platform_notify_remove(dev);
|
||||
|
||||
software_node_notify_remove(dev);
|
||||
|
||||
acpi_device_notify_remove(dev);
|
||||
@@ -2546,6 +2538,15 @@ ssize_t device_show_bool(struct device *dev, struct device_attribute *attr,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(device_show_bool);
|
||||
|
||||
ssize_t device_show_string(struct device *dev,
|
||||
struct device_attribute *attr, char *buf)
|
||||
{
|
||||
struct dev_ext_attribute *ea = to_ext_attr(attr);
|
||||
|
||||
return sysfs_emit(buf, "%s\n", (char *)ea->var);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(device_show_string);
|
||||
|
||||
/**
|
||||
* device_release - free device structure.
|
||||
* @kobj: device's kobject.
|
||||
|
||||
@@ -306,7 +306,7 @@ static ssize_t crash_hotplug_show(struct device *dev,
|
||||
struct device_attribute *attr,
|
||||
char *buf)
|
||||
{
|
||||
return sysfs_emit(buf, "%d\n", crash_hotplug_cpu_support());
|
||||
return sysfs_emit(buf, "%d\n", crash_check_hotplug_support());
|
||||
}
|
||||
static DEVICE_ATTR_ADMIN_RO(crash_hotplug);
|
||||
#endif
|
||||
|
||||
@@ -535,7 +535,7 @@ static DEVICE_ATTR_RW(auto_online_blocks);
|
||||
static ssize_t crash_hotplug_show(struct device *dev,
|
||||
struct device_attribute *attr, char *buf)
|
||||
{
|
||||
return sysfs_emit(buf, "%d\n", crash_hotplug_memory_support());
|
||||
return sysfs_emit(buf, "%d\n", crash_check_hotplug_support());
|
||||
}
|
||||
static DEVICE_ATTR_RO(crash_hotplug);
|
||||
#endif
|
||||
|
||||
@@ -30,14 +30,14 @@ static void module_create_drivers_dir(struct module_kobject *mk)
|
||||
mutex_unlock(&drivers_dir_mutex);
|
||||
}
|
||||
|
||||
void module_add_driver(struct module *mod, struct device_driver *drv)
|
||||
int module_add_driver(struct module *mod, struct device_driver *drv)
|
||||
{
|
||||
char *driver_name;
|
||||
int no_warn;
|
||||
struct module_kobject *mk = NULL;
|
||||
int ret;
|
||||
|
||||
if (!drv)
|
||||
return;
|
||||
return 0;
|
||||
|
||||
if (mod)
|
||||
mk = &mod->mkobj;
|
||||
@@ -56,17 +56,37 @@ void module_add_driver(struct module *mod, struct device_driver *drv)
|
||||
}
|
||||
|
||||
if (!mk)
|
||||
return;
|
||||
return 0;
|
||||
|
||||
ret = sysfs_create_link(&drv->p->kobj, &mk->kobj, "module");
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
/* Don't check return codes; these calls are idempotent */
|
||||
no_warn = sysfs_create_link(&drv->p->kobj, &mk->kobj, "module");
|
||||
driver_name = make_driver_name(drv);
|
||||
if (driver_name) {
|
||||
module_create_drivers_dir(mk);
|
||||
no_warn = sysfs_create_link(mk->drivers_dir, &drv->p->kobj,
|
||||
driver_name);
|
||||
kfree(driver_name);
|
||||
if (!driver_name) {
|
||||
ret = -ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
|
||||
module_create_drivers_dir(mk);
|
||||
if (!mk->drivers_dir) {
|
||||
ret = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
|
||||
ret = sysfs_create_link(mk->drivers_dir, &drv->p->kobj, driver_name);
|
||||
if (ret)
|
||||
goto out;
|
||||
|
||||
kfree(driver_name);
|
||||
|
||||
return 0;
|
||||
out:
|
||||
sysfs_remove_link(&drv->p->kobj, "module");
|
||||
sysfs_remove_link(mk->drivers_dir, driver_name);
|
||||
kfree(driver_name);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
void module_remove_driver(struct device_driver *drv)
|
||||
|
||||
@@ -208,7 +208,7 @@ static ktime_t initcall_debug_start(struct device *dev, void *cb)
|
||||
if (!pm_print_times_enabled)
|
||||
return 0;
|
||||
|
||||
dev_info(dev, "calling %pS @ %i, parent: %s\n", cb,
|
||||
dev_info(dev, "calling %ps @ %i, parent: %s\n", cb,
|
||||
task_pid_nr(current),
|
||||
dev->parent ? dev_name(dev->parent) : "none");
|
||||
return ktime_get();
|
||||
@@ -223,7 +223,7 @@ static void initcall_debug_report(struct device *dev, ktime_t calltime,
|
||||
return;
|
||||
|
||||
rettime = ktime_get();
|
||||
dev_info(dev, "%pS returned %d after %Ld usecs\n", cb, error,
|
||||
dev_info(dev, "%ps returned %d after %Ld usecs\n", cb, error,
|
||||
(unsigned long long)ktime_us_delta(rettime, calltime));
|
||||
}
|
||||
|
||||
@@ -1927,7 +1927,7 @@ EXPORT_SYMBOL_GPL(dpm_suspend_start);
|
||||
void __suspend_report_result(const char *function, struct device *dev, void *fn, int ret)
|
||||
{
|
||||
if (ret)
|
||||
dev_err(dev, "%s(): %pS returns %d\n", function, fn, ret);
|
||||
dev_err(dev, "%s(): %ps returns %d\n", function, fn, ret);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(__suspend_report_result);
|
||||
|
||||
|
||||
@@ -451,16 +451,15 @@ static struct wakeup_source *device_wakeup_detach(struct device *dev)
|
||||
* Detach the @dev's wakeup source object from it, unregister this wakeup source
|
||||
* object and destroy it.
|
||||
*/
|
||||
int device_wakeup_disable(struct device *dev)
|
||||
void device_wakeup_disable(struct device *dev)
|
||||
{
|
||||
struct wakeup_source *ws;
|
||||
|
||||
if (!dev || !dev->power.can_wakeup)
|
||||
return -EINVAL;
|
||||
return;
|
||||
|
||||
ws = device_wakeup_detach(dev);
|
||||
wakeup_source_unregister(ws);
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(device_wakeup_disable);
|
||||
|
||||
@@ -502,7 +501,11 @@ EXPORT_SYMBOL_GPL(device_set_wakeup_capable);
|
||||
*/
|
||||
int device_set_wakeup_enable(struct device *dev, bool enable)
|
||||
{
|
||||
return enable ? device_wakeup_enable(dev) : device_wakeup_disable(dev);
|
||||
if (enable)
|
||||
return device_wakeup_enable(dev);
|
||||
|
||||
device_wakeup_disable(dev);
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(device_set_wakeup_enable);
|
||||
|
||||
|
||||
@@ -868,20 +868,6 @@ struct fwnode_handle *fwnode_handle_get(struct fwnode_handle *fwnode)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(fwnode_handle_get);
|
||||
|
||||
/**
|
||||
* fwnode_handle_put - Drop reference to a device node
|
||||
* @fwnode: Pointer to the device node to drop the reference to.
|
||||
*
|
||||
* This has to be used when terminating device_for_each_child_node() iteration
|
||||
* with break or return to prevent stale device node references from being left
|
||||
* behind.
|
||||
*/
|
||||
void fwnode_handle_put(struct fwnode_handle *fwnode)
|
||||
{
|
||||
fwnode_call_void_op(fwnode, put);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(fwnode_handle_put);
|
||||
|
||||
/**
|
||||
* fwnode_device_is_available - check if a device is available for use
|
||||
* @fwnode: Pointer to the fwnode of the device.
|
||||
@@ -905,7 +891,7 @@ EXPORT_SYMBOL_GPL(fwnode_device_is_available);
|
||||
|
||||
/**
|
||||
* device_get_child_node_count - return the number of child nodes for device
|
||||
* @dev: Device to cound the child nodes for
|
||||
* @dev: Device to count the child nodes for
|
||||
*
|
||||
* Return: the number of child nodes for a given device.
|
||||
*/
|
||||
|
||||
@@ -326,20 +326,22 @@ struct regmap_ram_data {
|
||||
* Create a test register map with data stored in RAM, not intended
|
||||
* for practical use.
|
||||
*/
|
||||
struct regmap *__regmap_init_ram(const struct regmap_config *config,
|
||||
struct regmap *__regmap_init_ram(struct device *dev,
|
||||
const struct regmap_config *config,
|
||||
struct regmap_ram_data *data,
|
||||
struct lock_class_key *lock_key,
|
||||
const char *lock_name);
|
||||
|
||||
#define regmap_init_ram(config, data) \
|
||||
__regmap_lockdep_wrapper(__regmap_init_ram, #config, config, data)
|
||||
#define regmap_init_ram(dev, config, data) \
|
||||
__regmap_lockdep_wrapper(__regmap_init_ram, #dev, dev, config, data)
|
||||
|
||||
struct regmap *__regmap_init_raw_ram(const struct regmap_config *config,
|
||||
struct regmap *__regmap_init_raw_ram(struct device *dev,
|
||||
const struct regmap_config *config,
|
||||
struct regmap_ram_data *data,
|
||||
struct lock_class_key *lock_key,
|
||||
const char *lock_name);
|
||||
|
||||
#define regmap_init_raw_ram(config, data) \
|
||||
__regmap_lockdep_wrapper(__regmap_init_raw_ram, #config, config, data)
|
||||
#define regmap_init_raw_ram(dev, config, data) \
|
||||
__regmap_lockdep_wrapper(__regmap_init_raw_ram, #dev, dev, config, data)
|
||||
|
||||
#endif
|
||||
|
||||
@@ -294,7 +294,7 @@ static int regcache_maple_exit(struct regmap *map)
|
||||
{
|
||||
struct maple_tree *mt = map->cache;
|
||||
MA_STATE(mas, mt, 0, UINT_MAX);
|
||||
unsigned int *entry;;
|
||||
unsigned int *entry;
|
||||
|
||||
/* if we've already been called then just return */
|
||||
if (!mt)
|
||||
|
||||
@@ -350,7 +350,8 @@ static const struct regmap_bus *regmap_get_i2c_bus(struct i2c_client *i2c,
|
||||
|
||||
if (quirks->max_write_len &&
|
||||
(bus->max_raw_write == 0 || bus->max_raw_write > quirks->max_write_len))
|
||||
max_write = quirks->max_write_len;
|
||||
max_write = quirks->max_write_len -
|
||||
(config->reg_bits + config->pad_bits) / BITS_PER_BYTE;
|
||||
|
||||
if (max_read || max_write) {
|
||||
ret_bus = kmemdup(bus, sizeof(*bus), GFP_KERNEL);
|
||||
|
||||
@@ -56,5 +56,5 @@ struct regmap *__devm_regmap_init_i3c(struct i3c_device *i3c,
|
||||
EXPORT_SYMBOL_GPL(__devm_regmap_init_i3c);
|
||||
|
||||
MODULE_AUTHOR("Vitor Soares <vitor.soares@synopsys.com>");
|
||||
MODULE_DESCRIPTION("Regmap I3C Module");
|
||||
MODULE_DESCRIPTION("regmap I3C Module");
|
||||
MODULE_LICENSE("GPL v2");
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -117,5 +117,5 @@ struct regmap *__devm_regmap_init_mdio(struct mdio_device *mdio_dev,
|
||||
EXPORT_SYMBOL_GPL(__devm_regmap_init_mdio);
|
||||
|
||||
MODULE_AUTHOR("Sander Vanheule <sander@svanheule.net>");
|
||||
MODULE_DESCRIPTION("Regmap MDIO Module");
|
||||
MODULE_DESCRIPTION("regmap MDIO Module");
|
||||
MODULE_LICENSE("GPL v2");
|
||||
|
||||
@@ -53,7 +53,8 @@ static const struct regmap_bus regmap_ram = {
|
||||
.free_context = regmap_ram_free_context,
|
||||
};
|
||||
|
||||
struct regmap *__regmap_init_ram(const struct regmap_config *config,
|
||||
struct regmap *__regmap_init_ram(struct device *dev,
|
||||
const struct regmap_config *config,
|
||||
struct regmap_ram_data *data,
|
||||
struct lock_class_key *lock_key,
|
||||
const char *lock_name)
|
||||
@@ -75,7 +76,7 @@ struct regmap *__regmap_init_ram(const struct regmap_config *config,
|
||||
if (!data->written)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
map = __regmap_init(NULL, ®map_ram, data, config,
|
||||
map = __regmap_init(dev, ®map_ram, data, config,
|
||||
lock_key, lock_name);
|
||||
|
||||
return map;
|
||||
|
||||
@@ -107,7 +107,8 @@ static const struct regmap_bus regmap_raw_ram = {
|
||||
.free_context = regmap_raw_ram_free_context,
|
||||
};
|
||||
|
||||
struct regmap *__regmap_init_raw_ram(const struct regmap_config *config,
|
||||
struct regmap *__regmap_init_raw_ram(struct device *dev,
|
||||
const struct regmap_config *config,
|
||||
struct regmap_ram_data *data,
|
||||
struct lock_class_key *lock_key,
|
||||
const char *lock_name)
|
||||
@@ -134,7 +135,7 @@ struct regmap *__regmap_init_raw_ram(const struct regmap_config *config,
|
||||
|
||||
data->reg_endian = config->reg_format_endian;
|
||||
|
||||
map = __regmap_init(NULL, ®map_raw_ram, data, config,
|
||||
map = __regmap_init(dev, ®map_raw_ram, data, config,
|
||||
lock_key, lock_name);
|
||||
|
||||
return map;
|
||||
|
||||
@@ -97,5 +97,5 @@ struct regmap *__devm_regmap_init_sdw_mbq(struct sdw_slave *sdw,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(__devm_regmap_init_sdw_mbq);
|
||||
|
||||
MODULE_DESCRIPTION("Regmap SoundWire MBQ Module");
|
||||
MODULE_DESCRIPTION("regmap SoundWire MBQ Module");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
@@ -98,5 +98,5 @@ struct regmap *__devm_regmap_init_sdw(struct sdw_slave *sdw,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(__devm_regmap_init_sdw);
|
||||
|
||||
MODULE_DESCRIPTION("Regmap SoundWire Module");
|
||||
MODULE_DESCRIPTION("regmap SoundWire Module");
|
||||
MODULE_LICENSE("GPL v2");
|
||||
|
||||
@@ -165,4 +165,5 @@ struct regmap *__devm_regmap_init_spi(struct spi_device *spi,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(__devm_regmap_init_spi);
|
||||
|
||||
MODULE_DESCRIPTION("regmap SPI Module");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
@@ -2838,6 +2838,43 @@ int regmap_read(struct regmap *map, unsigned int reg, unsigned int *val)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(regmap_read);
|
||||
|
||||
/**
|
||||
* regmap_read_bypassed() - Read a value from a single register direct
|
||||
* from the device, bypassing the cache
|
||||
*
|
||||
* @map: Register map to read from
|
||||
* @reg: Register to be read from
|
||||
* @val: Pointer to store read value
|
||||
*
|
||||
* A value of zero will be returned on success, a negative errno will
|
||||
* be returned in error cases.
|
||||
*/
|
||||
int regmap_read_bypassed(struct regmap *map, unsigned int reg, unsigned int *val)
|
||||
{
|
||||
int ret;
|
||||
bool bypass, cache_only;
|
||||
|
||||
if (!IS_ALIGNED(reg, map->reg_stride))
|
||||
return -EINVAL;
|
||||
|
||||
map->lock(map->lock_arg);
|
||||
|
||||
bypass = map->cache_bypass;
|
||||
cache_only = map->cache_only;
|
||||
map->cache_bypass = true;
|
||||
map->cache_only = false;
|
||||
|
||||
ret = _regmap_read(map, reg, val);
|
||||
|
||||
map->cache_bypass = bypass;
|
||||
map->cache_only = cache_only;
|
||||
|
||||
map->unlock(map->lock_arg);
|
||||
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(regmap_read_bypassed);
|
||||
|
||||
/**
|
||||
* regmap_raw_read() - Read raw data from the device
|
||||
*
|
||||
|
||||
@@ -27,7 +27,7 @@ DECLARE_EVENT_CLASS(regmap_reg,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__assign_str(name, regmap_name(map));
|
||||
__assign_str(name);
|
||||
__entry->reg = reg;
|
||||
__entry->val = val;
|
||||
),
|
||||
@@ -74,7 +74,7 @@ DECLARE_EVENT_CLASS(regmap_bulk,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__assign_str(name, regmap_name(map));
|
||||
__assign_str(name);
|
||||
__entry->reg = reg;
|
||||
__entry->val_len = val_len;
|
||||
memcpy(__get_dynamic_array(buf), val, val_len);
|
||||
@@ -113,7 +113,7 @@ DECLARE_EVENT_CLASS(regmap_block,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__assign_str(name, regmap_name(map));
|
||||
__assign_str(name);
|
||||
__entry->reg = reg;
|
||||
__entry->count = count;
|
||||
),
|
||||
@@ -163,9 +163,9 @@ TRACE_EVENT(regcache_sync,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__assign_str(name, regmap_name(map));
|
||||
__assign_str(status, status);
|
||||
__assign_str(type, type);
|
||||
__assign_str(name);
|
||||
__assign_str(status);
|
||||
__assign_str(type);
|
||||
),
|
||||
|
||||
TP_printk("%s type=%s status=%s", __get_str(name),
|
||||
@@ -184,7 +184,7 @@ DECLARE_EVENT_CLASS(regmap_bool,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__assign_str(name, regmap_name(map));
|
||||
__assign_str(name);
|
||||
__entry->flag = flag;
|
||||
),
|
||||
|
||||
@@ -216,7 +216,7 @@ DECLARE_EVENT_CLASS(regmap_async,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__assign_str(name, regmap_name(map));
|
||||
__assign_str(name);
|
||||
),
|
||||
|
||||
TP_printk("%s", __get_str(name))
|
||||
@@ -264,7 +264,7 @@ TRACE_EVENT(regcache_drop_region,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__assign_str(name, regmap_name(map));
|
||||
__assign_str(name);
|
||||
__entry->from = from;
|
||||
__entry->to = to;
|
||||
),
|
||||
|
||||
@@ -28,7 +28,7 @@ DECLARE_EVENT_CLASS(devres,
|
||||
__field(size_t, size)
|
||||
),
|
||||
TP_fast_assign(
|
||||
__assign_str(devname, dev_name(dev));
|
||||
__assign_str(devname);
|
||||
__entry->op = op;
|
||||
__entry->node = node;
|
||||
__entry->name = name;
|
||||
|
||||
Reference in New Issue
Block a user