On Thu, May 11, 2017 at 03:20:21PM +0100, Rui Miguel Silva wrote: > This driver was using debugfs as a logging mechanism instead of the normal dev_* > helpers. This patch changes this and move all calls to fusb302_log function to > the correspondent dev_{err,dbg,info}. > > Since the debugfs interface was only used for logging, with this patch it became > unused, so just remove it. > > Signed-off-by: Rui Miguel Silva <rmfrfs@xxxxxxxxx> Nack, sorry. This doesn't work; we tried it. Console logging affects timing, making the driver unusable. Guenter > --- > drivers/staging/typec/fusb302/fusb302.c | 425 ++++++++++---------------------- > 1 file changed, 132 insertions(+), 293 deletions(-) > > diff --git a/drivers/staging/typec/fusb302/fusb302.c b/drivers/staging/typec/fusb302/fusb302.c > index 65df6407db84..40842b8075e5 100644 > --- a/drivers/staging/typec/fusb302/fusb302.c > +++ b/drivers/staging/typec/fusb302/fusb302.c > @@ -14,7 +14,6 @@ > * Fairchild FUSB302 Type-C Chip Driver > */ > > -#include <linux/debugfs.h> > #include <linux/delay.h> > #include <linux/errno.h> > #include <linux/gpio.h> > @@ -82,9 +81,6 @@ static const u8 rd_mda_value[] = { > [SRC_CURRENT_HIGH] = 61, /* 2604mV */ > }; > > -#define LOG_BUFFER_ENTRIES 1024 > -#define LOG_BUFFER_ENTRY_SIZE 128 > - > struct fusb302_chip { > struct device *dev; > struct i2c_client *i2c_client; > @@ -121,146 +117,8 @@ struct fusb302_chip { > enum typec_cc_polarity cc_polarity; > enum typec_cc_status cc1; > enum typec_cc_status cc2; > - > -#ifdef CONFIG_DEBUG_FS > - struct dentry *dentry; > - /* lock for log buffer access */ > - struct mutex logbuffer_lock; > - int logbuffer_head; > - int logbuffer_tail; > - u8 *logbuffer[LOG_BUFFER_ENTRIES]; > -#endif > -}; > - > -/* > - * Logging > - */ > - > -#ifdef CONFIG_DEBUG_FS > - > -static bool fusb302_log_full(struct fusb302_chip *chip) > -{ > - return chip->logbuffer_tail == > - (chip->logbuffer_head + 1) % LOG_BUFFER_ENTRIES; > -} > - > -static void _fusb302_log(struct fusb302_chip *chip, const char *fmt, > - va_list args) > -{ > - char tmpbuffer[LOG_BUFFER_ENTRY_SIZE]; > - u64 ts_nsec = local_clock(); > - unsigned long rem_nsec; > - > - if (!chip->logbuffer[chip->logbuffer_head]) { > - chip->logbuffer[chip->logbuffer_head] = > - kzalloc(LOG_BUFFER_ENTRY_SIZE, GFP_KERNEL); > - if (!chip->logbuffer[chip->logbuffer_head]) > - return; > - } > - > - vsnprintf(tmpbuffer, sizeof(tmpbuffer), fmt, args); > - > - mutex_lock(&chip->logbuffer_lock); > - > - if (fusb302_log_full(chip)) { > - chip->logbuffer_head = max(chip->logbuffer_head - 1, 0); > - strlcpy(tmpbuffer, "overflow", sizeof(tmpbuffer)); > - } > - > - if (chip->logbuffer_head < 0 || > - chip->logbuffer_head >= LOG_BUFFER_ENTRIES) { > - dev_warn(chip->dev, > - "Bad log buffer index %d\n", chip->logbuffer_head); > - goto abort; > - } > - > - if (!chip->logbuffer[chip->logbuffer_head]) { > - dev_warn(chip->dev, > - "Log buffer index %d is NULL\n", chip->logbuffer_head); > - goto abort; > - } > - > - rem_nsec = do_div(ts_nsec, 1000000000); > - scnprintf(chip->logbuffer[chip->logbuffer_head], > - LOG_BUFFER_ENTRY_SIZE, "[%5lu.%06lu] %s", > - (unsigned long)ts_nsec, rem_nsec / 1000, > - tmpbuffer); > - chip->logbuffer_head = (chip->logbuffer_head + 1) % LOG_BUFFER_ENTRIES; > - > -abort: > - mutex_unlock(&chip->logbuffer_lock); > -} > - > -static void fusb302_log(struct fusb302_chip *chip, const char *fmt, ...) > -{ > - va_list args; > - > - va_start(args, fmt); > - _fusb302_log(chip, fmt, args); > - va_end(args); > -} > - > -static int fusb302_seq_show(struct seq_file *s, void *v) > -{ > - struct fusb302_chip *chip = (struct fusb302_chip *)s->private; > - int tail; > - > - mutex_lock(&chip->logbuffer_lock); > - tail = chip->logbuffer_tail; > - while (tail != chip->logbuffer_head) { > - seq_printf(s, "%s\n", chip->logbuffer[tail]); > - tail = (tail + 1) % LOG_BUFFER_ENTRIES; > - } > - if (!seq_has_overflowed(s)) > - chip->logbuffer_tail = tail; > - mutex_unlock(&chip->logbuffer_lock); > - > - return 0; > -} > - > -static int fusb302_debug_open(struct inode *inode, struct file *file) > -{ > - return single_open(file, fusb302_seq_show, inode->i_private); > -} > - > -static const struct file_operations fusb302_debug_operations = { > - .open = fusb302_debug_open, > - .llseek = seq_lseek, > - .read = seq_read, > - .release = single_release, > }; > > -static struct dentry *rootdir; > - > -static int fusb302_debugfs_init(struct fusb302_chip *chip) > -{ > - mutex_init(&chip->logbuffer_lock); > - if (!rootdir) { > - rootdir = debugfs_create_dir("fusb302", NULL); > - if (!rootdir) > - return -ENOMEM; > - } > - > - chip->dentry = debugfs_create_file(dev_name(chip->dev), > - S_IFREG | 0444, rootdir, > - chip, &fusb302_debug_operations); > - > - return 0; > -} > - > -static void fusb302_debugfs_exit(struct fusb302_chip *chip) > -{ > - debugfs_remove(chip->dentry); > -} > - > -#else > - > -static void fusb302_log(const struct fusb302_chip *chip, > - const char *fmt, ...) { } > -static int fusb302_debugfs_init(const struct fusb302_chip *chip) { return 0; } > -static void fusb302_debugfs_exit(const struct fusb302_chip *chip) { } > - > -#endif > > #define FUSB302_RESUME_RETRY 10 > #define FUSB302_RESUME_RETRY_SLEEP 50 > @@ -273,8 +131,8 @@ static int fusb302_i2c_write(struct fusb302_chip *chip, > atomic_set(&chip->i2c_busy, 1); > for (retry_cnt = 0; retry_cnt < FUSB302_RESUME_RETRY; retry_cnt++) { > if (atomic_read(&chip->pm_suspend)) { > - pr_err("fusb302_i2c: pm suspend, retry %d/%d\n", > - retry_cnt + 1, FUSB302_RESUME_RETRY); > + dev_info(chip->dev, "i2c: pm suspend, retry %d/%d\n", > + retry_cnt + 1, FUSB302_RESUME_RETRY); > msleep(FUSB302_RESUME_RETRY_SLEEP); > } else { > break; > @@ -282,8 +140,8 @@ static int fusb302_i2c_write(struct fusb302_chip *chip, > } > ret = i2c_smbus_write_byte_data(chip->i2c_client, address, data); > if (ret < 0) > - fusb302_log(chip, "cannot write 0x%02x to 0x%02x, ret=%d", > - data, address, ret); > + dev_err(chip->dev, "cannot write 0x%02x to 0x%02x: %d\n", data, > + address, ret); > atomic_set(&chip->i2c_busy, 0); > > return ret; > @@ -300,8 +158,8 @@ static int fusb302_i2c_block_write(struct fusb302_chip *chip, u8 address, > atomic_set(&chip->i2c_busy, 1); > for (retry_cnt = 0; retry_cnt < FUSB302_RESUME_RETRY; retry_cnt++) { > if (atomic_read(&chip->pm_suspend)) { > - pr_err("fusb302_i2c: pm suspend, retry %d/%d\n", > - retry_cnt + 1, FUSB302_RESUME_RETRY); > + dev_info(chip->dev, "i2c: pm suspend, retry %d/%d\n", > + retry_cnt + 1, FUSB302_RESUME_RETRY); > msleep(FUSB302_RESUME_RETRY_SLEEP); > } else { > break; > @@ -310,8 +168,8 @@ static int fusb302_i2c_block_write(struct fusb302_chip *chip, u8 address, > ret = i2c_smbus_write_i2c_block_data(chip->i2c_client, address, > length, data); > if (ret < 0) > - fusb302_log(chip, "cannot block write 0x%02x, len=%d, ret=%d", > - address, length, ret); > + dev_err(chip->dev, "cannot block write 0x%02x, len=%d: %d\n", > + address, length, ret); > atomic_set(&chip->i2c_busy, 0); > > return ret; > @@ -326,8 +184,8 @@ static int fusb302_i2c_read(struct fusb302_chip *chip, > atomic_set(&chip->i2c_busy, 1); > for (retry_cnt = 0; retry_cnt < FUSB302_RESUME_RETRY; retry_cnt++) { > if (atomic_read(&chip->pm_suspend)) { > - pr_err("fusb302_i2c: pm suspend, retry %d/%d\n", > - retry_cnt + 1, FUSB302_RESUME_RETRY); > + dev_info(chip->dev, "i2c: pm suspend, retry %d/%d\n", > + retry_cnt + 1, FUSB302_RESUME_RETRY); > msleep(FUSB302_RESUME_RETRY_SLEEP); > } else { > break; > @@ -336,7 +194,7 @@ static int fusb302_i2c_read(struct fusb302_chip *chip, > ret = i2c_smbus_read_byte_data(chip->i2c_client, address); > *data = (u8)ret; > if (ret < 0) > - fusb302_log(chip, "cannot read %02x, ret=%d", address, ret); > + dev_err(chip->dev, "cannot read %02x: %d\n", address, ret); > atomic_set(&chip->i2c_busy, 0); > > return ret; > @@ -353,8 +211,8 @@ static int fusb302_i2c_block_read(struct fusb302_chip *chip, u8 address, > atomic_set(&chip->i2c_busy, 1); > for (retry_cnt = 0; retry_cnt < FUSB302_RESUME_RETRY; retry_cnt++) { > if (atomic_read(&chip->pm_suspend)) { > - pr_err("fusb302_i2c: pm suspend, retry %d/%d\n", > - retry_cnt + 1, FUSB302_RESUME_RETRY); > + dev_info(chip->dev, "i2c: pm suspend, retry %d/%d\n", > + retry_cnt + 1, FUSB302_RESUME_RETRY); > msleep(FUSB302_RESUME_RETRY_SLEEP); > } else { > break; > @@ -363,13 +221,13 @@ static int fusb302_i2c_block_read(struct fusb302_chip *chip, u8 address, > ret = i2c_smbus_read_i2c_block_data(chip->i2c_client, address, > length, data); > if (ret < 0) { > - fusb302_log(chip, "cannot block read 0x%02x, len=%d, ret=%d", > - address, length, ret); > + dev_err(chip->dev, "cannot block read 0x%02x, len=%d: %d\n", > + address, length, ret); > return ret; > } > if (ret != length) { > - fusb302_log(chip, "only read %d/%d bytes from 0x%02x", > - ret, length, address); > + dev_err(chip->dev, "only read %d/%d bytes from 0x%02x\n", > + ret, length, address); > return -EIO; > } > atomic_set(&chip->i2c_busy, 0); > @@ -414,9 +272,9 @@ static int fusb302_sw_reset(struct fusb302_chip *chip) > ret = fusb302_i2c_write(chip, FUSB_REG_RESET, > FUSB_REG_RESET_SW_RESET); > if (ret < 0) > - fusb302_log(chip, "cannot sw reset the chip, ret=%d", ret); > + dev_err(chip->dev, "cannot sw reset the chip: %d\n", ret); > else > - fusb302_log(chip, "sw reset"); > + dev_info(chip->dev, "sw reset\n"); > > return ret; > } > @@ -493,7 +351,7 @@ static int tcpm_init(struct tcpc_dev *dev) > ret = fusb302_i2c_read(chip, FUSB_REG_DEVICE_ID, &data); > if (ret < 0) > return ret; > - fusb302_log(chip, "fusb302 device ID: 0x%02x", data); > + dev_info(chip->dev, "device ID: 0x%02x\n", data); > > return ret; > } > @@ -689,23 +547,22 @@ static int tcpm_set_cc(struct tcpc_dev *dev, enum typec_cc_status cc) > pull_down = false; > break; > default: > - fusb302_log(chip, "unsupported cc value %s", > - typec_cc_status_name[cc]); > + dev_err(chip->dev, "unsupported cc value %s\n", > + typec_cc_status_name[cc]); > ret = -EINVAL; > goto done; > } > ret = fusb302_set_toggling(chip, TOGGLINE_MODE_OFF); > if (ret < 0) { > - fusb302_log(chip, "cannot stop toggling, ret=%d", ret); > + dev_err(chip->dev, "cannot stop toggling: %d\n", ret); > goto done; > } > ret = fusb302_set_cc_pull(chip, pull_up, pull_down); > if (ret < 0) { > - fusb302_log(chip, > - "cannot set cc pulling up %s, down %s, ret = %d", > - pull_up ? "True" : "False", > - pull_down ? "True" : "False", > - ret); > + dev_err(chip->dev, "cannot set cc pulling up %s, down %s: %d\n", > + pull_up ? "True" : "False", > + pull_down ? "True" : "False", > + ret); > goto done; > } > /* reset the cc status */ > @@ -715,8 +572,8 @@ static int tcpm_set_cc(struct tcpc_dev *dev, enum typec_cc_status cc) > if (pull_up) { > ret = fusb302_set_src_current(chip, cc_src_current[cc]); > if (ret < 0) { > - fusb302_log(chip, "cannot set src current %s, ret=%d", > - typec_cc_status_name[cc], ret); > + dev_err(chip->dev, "cannot set SRC current %s: %d\n", > + typec_cc_status_name[cc], ret); > goto done; > } > } > @@ -725,9 +582,8 @@ static int tcpm_set_cc(struct tcpc_dev *dev, enum typec_cc_status cc) > rd_mda = rd_mda_value[cc_src_current[cc]]; > ret = fusb302_i2c_write(chip, FUSB_REG_MEASURE, rd_mda); > if (ret < 0) { > - fusb302_log(chip, > - "cannot set SRC measure value, ret=%d", > - ret); > + dev_err(chip->dev, "cannot set SRC measure value: %d\n", > + ret); > goto done; > } > ret = fusb302_i2c_mask_write(chip, FUSB_REG_MASK, > @@ -735,8 +591,8 @@ static int tcpm_set_cc(struct tcpc_dev *dev, enum typec_cc_status cc) > FUSB_REG_MASK_COMP_CHNG, > FUSB_REG_MASK_COMP_CHNG); > if (ret < 0) { > - fusb302_log(chip, "cannot set SRC interrupt, ret=%d", > - ret); > + dev_err(chip->dev, "cannot set SRC interrupt: %d\n", > + ret); > goto done; > } > chip->intr_bc_lvl = false; > @@ -748,14 +604,15 @@ static int tcpm_set_cc(struct tcpc_dev *dev, enum typec_cc_status cc) > FUSB_REG_MASK_COMP_CHNG, > FUSB_REG_MASK_BC_LVL); > if (ret < 0) { > - fusb302_log(chip, "cannot set SRC interrupt, ret=%d", > - ret); > + dev_err(chip->dev, "cannot set SNK interrupt: %d\n", > + ret); > goto done; > } > chip->intr_bc_lvl = true; > chip->intr_comp_chng = false; > } > - fusb302_log(chip, "cc := %s", typec_cc_status_name[cc]); > + > + dev_dbg(chip->dev, "cc := %s\n", typec_cc_status_name[cc]); > done: > mutex_unlock(&chip->lock); > > @@ -771,8 +628,8 @@ static int tcpm_get_cc(struct tcpc_dev *dev, enum typec_cc_status *cc1, > mutex_lock(&chip->lock); > *cc1 = chip->cc1; > *cc2 = chip->cc2; > - fusb302_log(chip, "cc1=%s, cc2=%s", typec_cc_status_name[*cc1], > - typec_cc_status_name[*cc2]); > + dev_dbg(chip->dev, "cc1=%s, cc2=%s\n", typec_cc_status_name[*cc1], > + typec_cc_status_name[*cc2]); > mutex_unlock(&chip->lock); > > return 0; > @@ -795,7 +652,7 @@ static int tcpm_set_vconn(struct tcpc_dev *dev, bool on) > > mutex_lock(&chip->lock); > if (chip->vconn_on == on) { > - fusb302_log(chip, "vconn is already %s", on ? "On" : "Off"); > + dev_dbg(chip->dev, "vconn is already %s\n", on ? "On" : "Off"); > goto done; > } > if (on) { > @@ -808,7 +665,7 @@ static int tcpm_set_vconn(struct tcpc_dev *dev, bool on) > if (ret < 0) > goto done; > chip->vconn_on = on; > - fusb302_log(chip, "vconn := %s", on ? "On" : "Off"); > + dev_dbg(chip->dev, "vconn := %s\n", on ? "On" : "Off"); > done: > mutex_unlock(&chip->lock); > > @@ -823,23 +680,23 @@ static int tcpm_set_vbus(struct tcpc_dev *dev, bool on, bool charge) > > mutex_lock(&chip->lock); > if (chip->vbus_on == on) { > - fusb302_log(chip, "vbus is already %s", on ? "On" : "Off"); > + dev_dbg(chip->dev, "vbus is already %s\n", on ? "On" : "Off"); > } else { > if (on) > ret = regulator_enable(chip->vbus); > else > ret = regulator_disable(chip->vbus); > if (ret < 0) { > - fusb302_log(chip, "cannot %s vbus regulator, ret=%d", > - on ? "enable" : "disable", ret); > + dev_err(chip->dev, "cannot %s vbus regulator: %d\n", > + on ? "enable" : "disable", ret); > goto done; > } > chip->vbus_on = on; > - fusb302_log(chip, "vbus := %s", on ? "On" : "Off"); > + dev_dbg(chip->dev, "vbus := %s\n", on ? "On" : "Off"); > } > if (chip->charge_on == charge) > - fusb302_log(chip, "charge is already %s", > - charge ? "On" : "Off"); > + dev_dbg(chip->dev, "charge is already %s\n", > + charge ? "On" : "Off"); > else > chip->charge_on = charge; > > @@ -854,8 +711,8 @@ static int tcpm_set_current_limit(struct tcpc_dev *dev, u32 max_ma, u32 mv) > struct fusb302_chip *chip = container_of(dev, struct fusb302_chip, > tcpc_dev); > > - fusb302_log(chip, "current limit: %d ma, %d mv (not implemented)", > - max_ma, mv); > + dev_info(chip->dev, "current limit: %d ma, %d mv (not implemented)\n", > + max_ma, mv); > > return 0; > } > @@ -916,27 +773,27 @@ static int tcpm_set_pd_rx(struct tcpc_dev *dev, bool on) > mutex_lock(&chip->lock); > ret = fusb302_pd_rx_flush(chip); > if (ret < 0) { > - fusb302_log(chip, "cannot flush pd rx buffer, ret=%d", ret); > + dev_err(chip->dev, "cannot flush pd rx buffer: %d\n", ret); > goto done; > } > ret = fusb302_pd_tx_flush(chip); > if (ret < 0) { > - fusb302_log(chip, "cannot flush pd tx buffer, ret=%d", ret); > + dev_err(chip->dev, "cannot flush pd tx buffer: %d\n", ret); > goto done; > } > ret = fusb302_pd_set_auto_goodcrc(chip, on); > if (ret < 0) { > - fusb302_log(chip, "cannot turn %s auto GCRC, ret=%d", > - on ? "on" : "off", ret); > + dev_err(chip->dev, "cannot turn %s auto GCRC: %d\n", > + on ? "on" : "off", ret); > goto done; > } > ret = fusb302_pd_set_interrupts(chip, on); > if (ret < 0) { > - fusb302_log(chip, "cannot turn %s pd interrupts, ret=%d", > - on ? "on" : "off", ret); > + dev_err(chip->dev, "cannot turn %s pd interrupts: %d\n", > + on ? "on" : "off", ret); > goto done; > } > - fusb302_log(chip, "pd := %s", on ? "on" : "off"); > + dev_dbg(chip->dev, "pd := %s\n", on ? "on" : "off"); > done: > mutex_unlock(&chip->lock); > > @@ -971,13 +828,12 @@ static int tcpm_set_roles(struct tcpc_dev *dev, bool attached, > ret = fusb302_i2c_mask_write(chip, FUSB_REG_SWITCHES1, > switches1_mask, switches1_data); > if (ret < 0) { > - fusb302_log(chip, "unable to set pd header %s, %s, ret=%d", > - typec_role_name[pwr], typec_data_role_name[data], > - ret); > + dev_err(chip->dev, "unable to set pd header %s, %s: %d\n", > + typec_role_name[pwr], typec_data_role_name[data], ret); > goto done; > } > - fusb302_log(chip, "pd header := %s, %s", typec_role_name[pwr], > - typec_data_role_name[data]); > + dev_dbg(chip->dev, "pd header := %s, %s\n", typec_role_name[pwr], > + typec_data_role_name[data]); > done: > mutex_unlock(&chip->lock); > > @@ -994,17 +850,16 @@ static int tcpm_start_drp_toggling(struct tcpc_dev *dev, > mutex_lock(&chip->lock); > ret = fusb302_set_src_current(chip, cc_src_current[cc]); > if (ret < 0) { > - fusb302_log(chip, "unable to set src current %s, ret=%d", > - typec_cc_status_name[cc], ret); > + dev_err(chip->dev, "unable to set SRC current %s: %d\n", > + typec_cc_status_name[cc], ret); > goto done; > } > ret = fusb302_set_toggling(chip, TOGGLING_MODE_DRP); > if (ret < 0) { > - fusb302_log(chip, > - "unable to start drp toggling, ret=%d", ret); > + dev_err(chip->dev, "unable to start DRP toggling: %d\n", ret); > goto done; > } > - fusb302_log(chip, "start drp toggling"); > + dev_dbg(chip->dev, "start DRP toggling\n"); > done: > mutex_unlock(&chip->lock); > > @@ -1029,8 +884,7 @@ static int fusb302_pd_send_message(struct fusb302_chip *chip, > /* plug 2 for header */ > len += 2; > if (len > 0x1F) { > - fusb302_log(chip, > - "PD message too long %d (incl. header)", len); > + dev_err(chip->dev, "PD message too long %d\n", len); > return -EINVAL; > } > /* packsym tells the FUSB302 chip that the next X bytes are payload */ > @@ -1054,8 +908,8 @@ static int fusb302_pd_send_message(struct fusb302_chip *chip, > ret = fusb302_i2c_block_write(chip, FUSB_REG_FIFOS, pos, buf); > if (ret < 0) > return ret; > - fusb302_log(chip, "sending PD message header: %x", msg->header); > - fusb302_log(chip, "sending PD message len: %d", len); > + dev_dbg(chip->dev, "sending PD message header: %x\n", msg->header); > + dev_dbg(chip->dev, "sending PD message len: %d\n", len); > > return ret; > } > @@ -1089,18 +943,16 @@ static int tcpm_pd_transmit(struct tcpc_dev *dev, enum tcpm_transmit_type type, > case TCPC_TX_SOP: > ret = fusb302_pd_send_message(chip, msg); > if (ret < 0) > - fusb302_log(chip, > - "cannot send PD message, ret=%d", ret); > + dev_err(chip->dev, "cannot send PD message: %d\n", ret); > break; > case TCPC_TX_HARD_RESET: > ret = fusb302_pd_send_hardreset(chip); > if (ret < 0) > - fusb302_log(chip, > - "cannot send hardreset, ret=%d", ret); > + dev_err(chip->dev, "cannot send hardreset: %d\n", ret); > break; > default: > - fusb302_log(chip, "type %s not supported", > - transmit_type_name[type]); > + dev_info(chip->dev, "type %s not supported\n", > + transmit_type_name[type]); > ret = -EINVAL; > } > mutex_unlock(&chip->lock); > @@ -1130,15 +982,16 @@ static void fusb302_bc_lvl_handler_work(struct work_struct *work) > > mutex_lock(&chip->lock); > if (!chip->intr_bc_lvl) { > - fusb302_log(chip, "BC_LVL interrupt is turned off, abort"); > + dev_warn(chip->dev, "BC_LVL interrupt is turned off, abort\n"); > goto done; > } > ret = fusb302_i2c_read(chip, FUSB_REG_STATUS0, &status0); > if (ret < 0) > goto done; > - fusb302_log(chip, "BC_LVL handler, status0=0x%02x", status0); > + dev_dbg(chip->dev, "BC_LVL handler, status0=0x%02x\n", status0); > + > if (status0 & FUSB_REG_STATUS0_ACTIVITY) { > - fusb302_log(chip, "CC activities detected, delay handling"); > + dev_dbg(chip->dev, "CC activities detected, delay handling\n"); > mod_delayed_work(chip->wq, &chip->bc_lvl_handler, > msecs_to_jiffies(T_BC_LVL_DEBOUNCE_DELAY_MS)); > goto done; > @@ -1147,17 +1000,17 @@ static void fusb302_bc_lvl_handler_work(struct work_struct *work) > cc_status = fusb302_bc_lvl_to_cc(bc_lvl); > if (chip->cc_polarity == TYPEC_POLARITY_CC1) { > if (chip->cc1 != cc_status) { > - fusb302_log(chip, "cc1: %s -> %s", > - typec_cc_status_name[chip->cc1], > - typec_cc_status_name[cc_status]); > + dev_dbg(chip->dev, "cc1: %s -> %s\n", > + typec_cc_status_name[chip->cc1], > + typec_cc_status_name[cc_status]); > chip->cc1 = cc_status; > tcpm_cc_change(chip->tcpm_port); > } > } else { > if (chip->cc2 != cc_status) { > - fusb302_log(chip, "cc2: %s -> %s", > - typec_cc_status_name[chip->cc2], > - typec_cc_status_name[cc_status]); > + dev_dbg(chip->dev, "cc2: %s -> %s\n", > + typec_cc_status_name[chip->cc2], > + typec_cc_status_name[cc_status]); > chip->cc2 = cc_status; > tcpm_cc_change(chip->tcpm_port); > } > @@ -1270,7 +1123,7 @@ static int fusb302_handle_togdone_snk(struct fusb302_chip *chip, > /* set pull_up, pull_down */ > ret = fusb302_set_cc_pull(chip, false, true); > if (ret < 0) { > - fusb302_log(chip, "cannot set cc to pull down, ret=%d", ret); > + dev_err(chip->dev, "cannot set cc to pull down: %d\n", ret); > return ret; > } > /* set polarity */ > @@ -1278,8 +1131,8 @@ static int fusb302_handle_togdone_snk(struct fusb302_chip *chip, > TYPEC_POLARITY_CC1 : TYPEC_POLARITY_CC2; > ret = fusb302_set_cc_polarity(chip, cc_polarity); > if (ret < 0) { > - fusb302_log(chip, "cannot set cc polarity %s, ret=%d", > - cc_polarity_name[cc_polarity], ret); > + dev_err(chip->dev, "cannot set cc polarity %s: %d\n", > + cc_polarity_name[cc_polarity], ret); > return ret; > } > /* fusb302_set_cc_polarity() has set the correct measure block */ > @@ -1290,7 +1143,7 @@ static int fusb302_handle_togdone_snk(struct fusb302_chip *chip, > cc_status_active = fusb302_bc_lvl_to_cc(bc_lvl); > /* restart toggling if the cc status on the active line is OPEN */ > if (cc_status_active == TYPEC_CC_OPEN) { > - fusb302_log(chip, "restart toggling as CC_OPEN detected"); > + dev_dbg(chip->dev, "restart toggling as CC_OPEN detected\n"); > ret = fusb302_set_toggling(chip, chip->toggling_mode); > return ret; > } > @@ -1307,21 +1160,19 @@ static int fusb302_handle_togdone_snk(struct fusb302_chip *chip, > /* turn off toggling */ > ret = fusb302_set_toggling(chip, TOGGLINE_MODE_OFF); > if (ret < 0) { > - fusb302_log(chip, > - "cannot set toggling mode off, ret=%d", ret); > + dev_err(chip->dev, "cannot set toggling mode off: %d\n", ret); > return ret; > } > /* unmask bc_lvl interrupt */ > ret = fusb302_i2c_clear_bits(chip, FUSB_REG_MASK, FUSB_REG_MASK_BC_LVL); > if (ret < 0) { > - fusb302_log(chip, > - "cannot unmask bc_lcl interrupt, ret=%d", ret); > + dev_err(chip->dev, "cannot unmask bc_lcl interrupt: %d\n", ret); > return ret; > } > chip->intr_bc_lvl = true; > - fusb302_log(chip, "detected cc1=%s, cc2=%s", > - typec_cc_status_name[cc1], > - typec_cc_status_name[cc2]); > + dev_dbg(chip->dev, "detected cc1=%s, cc2=%s\n", > + typec_cc_status_name[cc1], > + typec_cc_status_name[cc2]); > > return ret; > } > @@ -1346,7 +1197,7 @@ static int fusb302_handle_togdone_src(struct fusb302_chip *chip, > /* set pull_up, pull_down */ > ret = fusb302_set_cc_pull(chip, true, false); > if (ret < 0) { > - fusb302_log(chip, "cannot set cc to pull up, ret=%d", ret); > + dev_err(chip->dev, "cannot set cc to pull up: %d\n", ret); > return ret; > } > /* set polarity */ > @@ -1354,8 +1205,8 @@ static int fusb302_handle_togdone_src(struct fusb302_chip *chip, > TYPEC_POLARITY_CC1 : TYPEC_POLARITY_CC2; > ret = fusb302_set_cc_polarity(chip, cc_polarity); > if (ret < 0) { > - fusb302_log(chip, "cannot set cc polarity %s, ret=%d", > - cc_polarity_name[cc_polarity], ret); > + dev_err(chip->dev, "cannot set cc polarity %s: %d\n", > + cc_polarity_name[cc_polarity], ret); > return ret; > } > /* fusb302_set_cc_polarity() has set the correct measure block */ > @@ -1386,7 +1237,7 @@ static int fusb302_handle_togdone_src(struct fusb302_chip *chip, > cc_status_active = TYPEC_CC_OPEN; > /* restart toggling if the cc status on the active line is OPEN */ > if (cc_status_active == TYPEC_CC_OPEN) { > - fusb302_log(chip, "restart toggling as CC_OPEN detected"); > + dev_warn(chip->dev, "restart toggling as CC_OPEN detected\n"); > ret = fusb302_set_toggling(chip, chip->toggling_mode); > return ret; > } > @@ -1403,8 +1254,7 @@ static int fusb302_handle_togdone_src(struct fusb302_chip *chip, > /* turn off toggling */ > ret = fusb302_set_toggling(chip, TOGGLINE_MODE_OFF); > if (ret < 0) { > - fusb302_log(chip, > - "cannot set toggling mode off, ret=%d", ret); > + dev_err(chip->dev, "cannot set toggling mode off: %d\n", ret); > return ret; > } > /* set MDAC to Rd threshold, and unmask I_COMP for unplug detection */ > @@ -1415,14 +1265,13 @@ static int fusb302_handle_togdone_src(struct fusb302_chip *chip, > ret = fusb302_i2c_clear_bits(chip, FUSB_REG_MASK, > FUSB_REG_MASK_COMP_CHNG); > if (ret < 0) { > - fusb302_log(chip, > - "cannot unmask bc_lcl interrupt, ret=%d", ret); > + dev_err(chip->dev, "cannot unmask bc_lcl interrupt: %d\n", ret); > return ret; > } > chip->intr_comp_chng = true; > - fusb302_log(chip, "detected cc1=%s, cc2=%s", > - typec_cc_status_name[cc1], > - typec_cc_status_name[cc2]); > + dev_dbg(chip->dev, "detected cc1=%s, cc2=%s\n", > + typec_cc_status_name[cc1], > + typec_cc_status_name[cc2]); > > return ret; > } > @@ -1447,12 +1296,12 @@ static int fusb302_handle_togdone(struct fusb302_chip *chip) > return fusb302_handle_togdone_src(chip, togdone_result); > case FUSB_REG_STATUS1A_TOGSS_AA: > /* doesn't support */ > - fusb302_log(chip, "AudioAccessory not supported"); > + dev_info(chip->dev, "AudioAccessory not supported\n"); > fusb302_set_toggling(chip, chip->toggling_mode); > break; > default: > - fusb302_log(chip, "TOGDONE with an invalid state: %d", > - togdone_result); > + dev_warn(chip->dev, "TOGDONE with an invalid state: %d\n", > + togdone_result); > fusb302_set_toggling(chip, chip->toggling_mode); > break; > } > @@ -1484,7 +1333,7 @@ static int fusb302_pd_read_message(struct fusb302_chip *chip, > len = pd_header_cnt(msg->header) * 4; > /* add 4 to length to include the CRC */ > if (len > PD_MAX_PAYLOAD * 4) { > - fusb302_log(chip, "PD message too long %d", len); > + dev_err(chip->dev, "PD message too long %d\n", len); > return -EINVAL; > } > if (len > 0) { > @@ -1497,8 +1346,8 @@ static int fusb302_pd_read_message(struct fusb302_chip *chip, > ret = fusb302_i2c_block_read(chip, FUSB_REG_FIFOS, 4, crc); > if (ret < 0) > return ret; > - fusb302_log(chip, "PD message header: %x", msg->header); > - fusb302_log(chip, "PD message len: %d", len); > + dev_dbg(chip->dev, "PD message header: %x\n", msg->header); > + dev_dbg(chip->dev, "PD message len: %d\n", len); > > return ret; > } > @@ -1536,14 +1385,13 @@ static irqreturn_t fusb302_irq_intn(int irq, void *dev_id) > ret = fusb302_i2c_read(chip, FUSB_REG_STATUS0, &status0); > if (ret < 0) > goto done; > - fusb302_log(chip, > - "IRQ: 0x%02x, a: 0x%02x, b: 0x%02x, status0: 0x%02x", > - interrupt, interrupta, interruptb, status0); > + dev_dbg(chip->dev, "IRQ: 0x%02x, a: 0x%02x, b: 0x%02x, status0: 0x%02x\n", > + interrupt, interrupta, interruptb, status0); > > if (interrupt & FUSB_REG_INTERRUPT_VBUSOK) { > vbus_present = !!(status0 & FUSB_REG_STATUS0_VBUSOK); > - fusb302_log(chip, "IRQ: VBUS_OK, vbus=%s", > - vbus_present ? "On" : "Off"); > + dev_dbg(chip->dev, "IRQ: VBUS_OK, vbus=%s\n", > + vbus_present ? "On" : "Off"); > if (vbus_present != chip->vbus_present) { > chip->vbus_present = vbus_present; > tcpm_vbus_change(chip->tcpm_port); > @@ -1551,17 +1399,16 @@ static irqreturn_t fusb302_irq_intn(int irq, void *dev_id) > } > > if ((interrupta & FUSB_REG_INTERRUPTA_TOGDONE) && intr_togdone) { > - fusb302_log(chip, "IRQ: TOGDONE"); > + dev_dbg(chip->dev, "IRQ: TOGDONE\n"); > ret = fusb302_handle_togdone(chip); > if (ret < 0) { > - fusb302_log(chip, > - "handle togdone error, ret=%d", ret); > + dev_err(chip->dev, "handle togdone error: %d\n", ret); > goto done; > } > } > > if ((interrupt & FUSB_REG_INTERRUPT_BC_LVL) && intr_bc_lvl) { > - fusb302_log(chip, "IRQ: BC_LVL, handler pending"); > + dev_dbg(chip->dev, "IRQ: BC_LVL, handler pending\n"); > /* > * as BC_LVL interrupt can be affected by PD activity, > * apply delay to for the handler to wait for the PD > @@ -1573,8 +1420,8 @@ static irqreturn_t fusb302_irq_intn(int irq, void *dev_id) > > if ((interrupt & FUSB_REG_INTERRUPT_COMP_CHNG) && intr_comp_chng) { > comp_result = !!(status0 & FUSB_REG_STATUS0_COMP); > - fusb302_log(chip, "IRQ: COMP_CHNG, comp=%s", > - comp_result ? "true" : "false"); > + dev_dbg(chip->dev, "IRQ: COMP_CHNG, comp=%s\n", > + comp_result ? "true" : "false"); > if (comp_result) { > /* cc level > Rd_threashold, detach */ > if (chip->cc_polarity == TYPEC_POLARITY_CC1) > @@ -1586,52 +1433,51 @@ static irqreturn_t fusb302_irq_intn(int irq, void *dev_id) > } > > if (interrupt & FUSB_REG_INTERRUPT_COLLISION) { > - fusb302_log(chip, "IRQ: PD collision"); > + dev_dbg(chip->dev, "IRQ: PD collision\n"); > tcpm_pd_transmit_complete(chip->tcpm_port, TCPC_TX_FAILED); > } > > if (interrupta & FUSB_REG_INTERRUPTA_RETRYFAIL) { > - fusb302_log(chip, "IRQ: PD retry failed"); > + dev_dbg(chip->dev, "IRQ: PD retry failed\n"); > tcpm_pd_transmit_complete(chip->tcpm_port, TCPC_TX_FAILED); > } > > if (interrupta & FUSB_REG_INTERRUPTA_HARDSENT) { > - fusb302_log(chip, "IRQ: PD hardreset sent"); > + dev_dbg(chip->dev, "IRQ: PD hardreset sent\n"); > ret = fusb302_pd_reset(chip); > if (ret < 0) { > - fusb302_log(chip, "cannot PD reset, ret=%d", ret); > + dev_err(chip->dev, "cannot PD reset: %d\n", ret); > goto done; > } > tcpm_pd_transmit_complete(chip->tcpm_port, TCPC_TX_SUCCESS); > } > > if (interrupta & FUSB_REG_INTERRUPTA_TX_SUCCESS) { > - fusb302_log(chip, "IRQ: PD tx success"); > + dev_dbg(chip->dev, "IRQ: PD tx success\n"); > /* read out the received good CRC */ > ret = fusb302_pd_read_message(chip, &pd_msg); > if (ret < 0) { > - fusb302_log(chip, "cannot read in GCRC, ret=%d", ret); > + dev_err(chip->dev, "cannot read in GCRC: %d\n", ret); > goto done; > } > tcpm_pd_transmit_complete(chip->tcpm_port, TCPC_TX_SUCCESS); > } > > if (interrupta & FUSB_REG_INTERRUPTA_HARDRESET) { > - fusb302_log(chip, "IRQ: PD received hardreset"); > + dev_dbg(chip->dev, "IRQ: PD received hardreset\n"); > ret = fusb302_pd_reset(chip); > if (ret < 0) { > - fusb302_log(chip, "cannot PD reset, ret=%d", ret); > + dev_err(chip->dev, "cannot PD reset: %d\n", ret); > goto done; > } > tcpm_pd_hard_reset(chip->tcpm_port); > } > > if (interruptb & FUSB_REG_INTERRUPTB_GCRCSENT) { > - fusb302_log(chip, "IRQ: PD sent good CRC"); > + dev_dbg(chip->dev, "IRQ: PD sent good CRC\n"); > ret = fusb302_pd_read_message(chip, &pd_msg); > if (ret < 0) { > - fusb302_log(chip, > - "cannot read in PD message, ret=%d", ret); > + dev_err(chip->dev, "cannot read PD message: %d\n", ret); > goto done; > } > tcpm_pd_receive(chip->tcpm_port, &pd_msg); > @@ -1651,24 +1497,23 @@ static int init_gpio(struct fusb302_chip *chip) > chip->gpio_int_n = of_get_named_gpio(node, "fcs,int_n", 0); > if (!gpio_is_valid(chip->gpio_int_n)) { > ret = chip->gpio_int_n; > - fusb302_log(chip, "cannot get named GPIO Int_N, ret=%d", ret); > + dev_err(chip->dev, "cannot get named GPIO Int_N: %d\n", ret); > return ret; > } > ret = devm_gpio_request(chip->dev, chip->gpio_int_n, "fcs,int_n"); > if (ret < 0) { > - fusb302_log(chip, "cannot request GPIO Int_N, ret=%d", ret); > + dev_err(chip->dev, "cannot request GPIO Int_N: %d\n", ret); > return ret; > } > ret = gpio_direction_input(chip->gpio_int_n); > if (ret < 0) { > - fusb302_log(chip, > - "cannot set GPIO Int_N to input, ret=%d", ret); > + dev_err(chip->dev, "cannot set GPIO Int_N to input: %d\n", ret); > return ret; > } > ret = gpio_to_irq(chip->gpio_int_n); > if (ret < 0) { > - fusb302_log(chip, > - "cannot request IRQ for GPIO Int_N, ret=%d", ret); > + dev_err(chip->dev, "cannot request IRQ for GPIO Int_N: %d\n", > + ret); > return ret; > } > chip->gpio_int_n_irq = ret; > @@ -1697,10 +1542,6 @@ static int fusb302_probe(struct i2c_client *client, > chip->dev = &client->dev; > mutex_init(&chip->lock); > > - ret = fusb302_debugfs_init(chip); > - if (ret < 0) > - return ret; > - > chip->wq = create_singlethread_workqueue(dev_name(chip->dev)); > if (!chip->wq) { > ret = -ENOMEM; > @@ -1722,7 +1563,7 @@ static int fusb302_probe(struct i2c_client *client, > chip->tcpm_port = tcpm_register_port(&client->dev, &chip->tcpc_dev); > if (IS_ERR(chip->tcpm_port)) { > ret = PTR_ERR(chip->tcpm_port); > - fusb302_log(chip, "cannot register tcpm port, ret=%d", ret); > + dev_err(chip->dev, "cannot register tcpm port: %d\n", ret); > goto destroy_workqueue; > } > > @@ -1731,8 +1572,8 @@ static int fusb302_probe(struct i2c_client *client, > IRQF_ONESHOT | IRQF_TRIGGER_LOW, > "fsc_interrupt_int_n", chip); > if (ret < 0) { > - fusb302_log(chip, > - "cannot request IRQ for GPIO Int_N, ret=%d", ret); > + dev_err(chip->dev, "cannot create thread IRQ for GPIO: %d\n", > + ret); > goto tcpm_unregister_port; > } > enable_irq_wake(chip->gpio_int_n_irq); > @@ -1744,7 +1585,6 @@ static int fusb302_probe(struct i2c_client *client, > destroy_workqueue(chip->wq); > clear_client_data: > i2c_set_clientdata(client, NULL); > - fusb302_debugfs_exit(chip); > > return ret; > } > @@ -1756,7 +1596,6 @@ static int fusb302_remove(struct i2c_client *client) > tcpm_unregister_port(chip->tcpm_port); > destroy_workqueue(chip->wq); > i2c_set_clientdata(client, NULL); > - fusb302_debugfs_exit(chip); > > return 0; > } > -- > 2.12.2 > _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel