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> --- 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