diff --git a/driver/src/mmrm_clk_rsrc_mgr_sw.c b/driver/src/mmrm_clk_rsrc_mgr_sw.c index eab697dbfe..c02c2dcfc0 100644 --- a/driver/src/mmrm_clk_rsrc_mgr_sw.c +++ b/driver/src/mmrm_clk_rsrc_mgr_sw.c @@ -92,7 +92,7 @@ static void mmrm_sw_print_client_data(struct mmrm_sw_clk_mgr_info *sinfo, u32 i, j; for (i = 0; i < MMRM_VDD_LEVEL_MAX; i++) { - d_mpr_h("%s: csid(0x%x) corner(%s) dyn_pwr(%zu) leak_pwr(%zu) \n", + d_mpr_p("%s: csid(0x%x) corner(%s) dyn_pwr(%zu) leak_pwr(%zu)\n", __func__, tbl_entry->clk_src_id, cset->corner_tbl[i].name, @@ -100,7 +100,7 @@ static void mmrm_sw_print_client_data(struct mmrm_sw_clk_mgr_info *sinfo, tbl_entry->leak_pwr[i]); for (j = 0; j < MMRM_VDD_LEVEL_MAX; j++) { - d_mpr_h("%s: csid(0x%x) total_pwr(%zu) cur_ma(%zu)\n", + d_mpr_p("%s: csid(0x%x) total_pwr(%zu) cur_ma(%zu)\n", __func__, tbl_entry->clk_src_id, (tbl_entry->dyn_pwr[i] + tbl_entry->leak_pwr[i]), @@ -190,8 +190,6 @@ static struct mmrm_client *mmrm_sw_clk_client_register( u32 c = 0; u32 clk_client_src_id = 0; - d_mpr_h("%s: entering\n", __func__); - mutex_lock(&sw_clk_mgr->lock); /* check if entry is free in table */ @@ -286,7 +284,6 @@ static struct mmrm_client *mmrm_sw_clk_client_register( exit_found: mutex_unlock(&sw_clk_mgr->lock); - d_mpr_h("%s: exiting with success\n", __func__); return clk_client; err_fail_update_entry: @@ -302,7 +299,7 @@ err_nofree_entry: err_already_registered: mutex_unlock(&sw_clk_mgr->lock); - d_mpr_h("%s: error exit\n", __func__); + d_mpr_e("%s: error = %d\n", __func__, rc); return NULL; } @@ -313,8 +310,6 @@ static int mmrm_sw_clk_client_deregister(struct mmrm_clk_mgr *sw_clk_mgr, struct mmrm_sw_clk_client_tbl_entry *tbl_entry; struct mmrm_sw_clk_mgr_info *sinfo = &(sw_clk_mgr->data.sw_info); - d_mpr_h("%s: entering\n", __func__); - /* validate the client ptr */ if (!client) { d_mpr_e("%s: invalid client\n"); @@ -350,11 +345,10 @@ static int mmrm_sw_clk_client_deregister(struct mmrm_clk_mgr *sw_clk_mgr, mutex_unlock(&sw_clk_mgr->lock); - d_mpr_h("%s: exiting with success\n", __func__); return rc; err_invalid_client: - d_mpr_h("%s: error exit\n", __func__); + d_mpr_e("%s: error = %d\n", __func__, rc); return rc; } @@ -508,7 +502,6 @@ static int mmrm_sw_throttle_low_priority_client( u32 now_cur_ma, min_cur_ma; long clk_min_level = MMRM_VDD_LEVEL_LOW_SVS; - d_mpr_h("%s: entering\n", __func__); init_completion(&timeout); for (i = 0; i < sinfo->throttle_clients_data_length ; i++) { @@ -585,7 +578,6 @@ static int mmrm_sw_throttle_low_priority_client( /* Clearing the reserve flag */ tbl_entry_throttle_client->reserve = tbl_entry_throttle_client->reserve & 0; - d_mpr_h("%s: exiting\n", __func__); } err_clk_set_fail: return rc; @@ -803,7 +795,7 @@ err_invalid_client_data: err_invalid_clk_val: err_peak_overshoot: err_clk_set_fail: - d_mpr_h("%s: error exit\n", __func__); + d_mpr_e("%s: error = %d\n", __func__, rc); return rc; } @@ -812,8 +804,6 @@ static int mmrm_sw_clk_client_setval_inrange(struct mmrm_clk_mgr *sw_clk_mgr, struct mmrm_client_data *client_data, struct mmrm_client_res_value *val) { - d_mpr_h("%s: entering\n", __func__); - /* TBD: add support for set val in range */ return mmrm_sw_clk_client_setval(sw_clk_mgr, client, client_data, val->cur); @@ -827,8 +817,6 @@ static int mmrm_sw_clk_client_getval(struct mmrm_clk_mgr *sw_clk_mgr, struct mmrm_sw_clk_client_tbl_entry *tbl_entry; struct mmrm_sw_clk_mgr_info *sinfo = &(sw_clk_mgr->data.sw_info); - d_mpr_h("%s: entering\n", __func__); - /* validate input params */ if (!client) { d_mpr_e("%s: invalid client\n"); @@ -856,11 +844,10 @@ static int mmrm_sw_clk_client_getval(struct mmrm_clk_mgr *sw_clk_mgr, val->cur = tbl_entry->clk_rate; val->max = tbl_entry->clk_rate; - d_mpr_h("%s: exiting with success\n", __func__); return rc; err_invalid_client: - d_mpr_h("%s: error exit\n", __func__); + d_mpr_e("%s: error = %d\n", __func__, rc); return rc; } @@ -880,8 +867,6 @@ static int mmrm_sw_prepare_table(struct mmrm_clk_platform_resources *cres, struct mmrm_sw_clk_client_tbl_entry *tbl_entry; struct nom_clk_src_info *nom_tbl_entry; - d_mpr_h("%s: entering\n", __func__); - /* read all resource entries */ for (c = 0; c < sinfo->tot_clk_clients; c++) { tbl_entry = &sinfo->clk_client_tbl[c]; @@ -901,7 +886,6 @@ static int mmrm_sw_prepare_table(struct mmrm_clk_platform_resources *cres, tbl_entry->leak_pwr[MMRM_VDD_LEVEL_NOM]); } - d_mpr_h("%s: exiting\n", __func__); return rc; } @@ -915,8 +899,6 @@ int mmrm_init_sw_clk_mgr(void *driver_data) struct mmrm_clk_mgr *sw_clk_mgr = NULL; u32 tbl_size = 0; - d_mpr_h("%s: entering\n", __func__); - /* mmrm_sw_clk_mgr */ sw_clk_mgr = kzalloc(sizeof(*sw_clk_mgr), GFP_KERNEL); if (!sw_clk_mgr) { @@ -976,7 +958,6 @@ int mmrm_init_sw_clk_mgr(void *driver_data) sw_clk_mgr->clk_client_ops = &clk_client_swops; drv_data->clk_mgr = sw_clk_mgr; - d_mpr_h("%s: exiting with success\n", __func__); return rc; err_fail_prep_tbl: @@ -985,7 +966,7 @@ err_fail_clk_tbl: kfree(sw_clk_mgr); drv_data->clk_mgr = NULL; err_fail_sw_clk_mgr: - d_mpr_h("%s: error exit\n", __func__); + d_mpr_e("%s: error = %d\n", __func__, rc); return rc; } diff --git a/driver/src/mmrm_debug.c b/driver/src/mmrm_debug.c index 5c4e1aef8d..2229478be0 100644 --- a/driver/src/mmrm_debug.c +++ b/driver/src/mmrm_debug.c @@ -46,8 +46,6 @@ struct dentry *msm_mmrm_debugfs_init(void) struct dentry *dir; int file_val; - d_mpr_h("%s: entering\n", __func__); - /* create a directory in debugfs root (/sys/kernel/debug) */ dir = debugfs_create_dir("msm_mmrm", NULL); if (IS_ERR_OR_NULL(dir)) { @@ -66,17 +64,14 @@ struct dentry *msm_mmrm_debugfs_init(void) debugfs_create_u8("allow_multiple_register", 0644, dir, &msm_mmrm_allow_multiple_register); debugfs_create_u8("enable_throttle_feature", 0644, dir, &msm_mmrm_enable_throttle_feature); - d_mpr_h("%s: exiting\n", __func__); return dir; failed_create_dir: - d_mpr_h("%s: error exit\n", __func__); + d_mpr_e("%s: error\n", __func__); return NULL; } void msm_mmrm_debugfs_deinit(struct dentry *dir) { - d_mpr_h("%s: entering\n", __func__); debugfs_remove_recursive(dir); - d_mpr_h("%s: exiting\n", __func__); } diff --git a/driver/src/mmrm_debug.h b/driver/src/mmrm_debug.h index f216c531e8..e425853754 100644 --- a/driver/src/mmrm_debug.h +++ b/driver/src/mmrm_debug.h @@ -23,6 +23,7 @@ enum mmrm_msg_prio { MMRM_HIGH = 0x000002, MMRM_LOW = 0x000004, MMRM_WARN = 0x000008, + MMRM_POWER = 0x000010, MMRM_PRINTK = 0x010000, MMRM_FTRACE = 0x020000, }; @@ -45,6 +46,7 @@ extern u8 msm_mmrm_allow_multiple_register; #define d_mpr_h(__fmt, ...) dprintk(MMRM_HIGH, __fmt, ##__VA_ARGS__) #define d_mpr_l(__fmt, ...) dprintk(MMRM_LOW, __fmt, ##__VA_ARGS__) #define d_mpr_w(__fmt, ...) dprintk(MMRM_WARN, __fmt, ##__VA_ARGS__) +#define d_mpr_p(__fmt, ...) dprintk(MMRM_POWER, __fmt, ##__VA_ARGS__) static inline char *get_debug_level_str(int level) { @@ -57,6 +59,8 @@ static inline char *get_debug_level_str(int level) return "low "; case MMRM_WARN: return "warn"; + case MMRM_POWER: + return "power"; default: return "????"; } diff --git a/driver/src/msm_mmrm.c b/driver/src/msm_mmrm.c index 7506b41c70..60d83703c7 100644 --- a/driver/src/msm_mmrm.c +++ b/driver/src/msm_mmrm.c @@ -35,7 +35,7 @@ struct mmrm_client *mmrm_client_register(struct mmrm_client_desc *client_desc) { struct mmrm_client *client = NULL; - d_mpr_h("%s: entering\n", __func__); + /* check for null input */ if (!client_desc) { @@ -62,7 +62,6 @@ struct mmrm_client *mmrm_client_register(struct mmrm_client_desc *client_desc) goto err_exit; } - d_mpr_h("%s: exiting\n", __func__); return client; err_exit: @@ -75,7 +74,6 @@ int mmrm_client_deregister(struct mmrm_client *client) { int rc = 0; - d_mpr_h("%s: entering\n", __func__); /* check for null input */ if (!client) { @@ -101,11 +99,10 @@ int mmrm_client_deregister(struct mmrm_client *client) __func__, client->client_type); } - d_mpr_h("%s: exiting\n", __func__); return rc; err_exit: - d_mpr_e("%s: error exit\n", __func__); + d_mpr_e("%s: error = %d\n", __func__, rc); return rc; } EXPORT_SYMBOL(mmrm_client_deregister); @@ -115,8 +112,6 @@ int mmrm_client_set_value(struct mmrm_client *client, { int rc = 0; - d_mpr_h("%s: entering\n", __func__); - /* check for null input */ if (!client || !client_data) { d_mpr_e("%s: invalid input client(%pK) client_data(%pK)\n", @@ -143,11 +138,10 @@ int mmrm_client_set_value(struct mmrm_client *client, __func__, client->client_type); } - d_mpr_h("%s: exiting\n", __func__); return rc; err_exit: - d_mpr_e("%s: error exit\n", __func__); + d_mpr_e("%s: error = %d\n", __func__, rc); return rc; } EXPORT_SYMBOL(mmrm_client_set_value); @@ -158,8 +152,6 @@ int mmrm_client_set_value_in_range(struct mmrm_client *client, { int rc = 0; - d_mpr_h("%s: entering\n", __func__); - /* check for null input */ if (!client || !client_data || !val) { d_mpr_e( @@ -187,11 +179,10 @@ int mmrm_client_set_value_in_range(struct mmrm_client *client, __func__, client->client_type); } - d_mpr_h("%s: exiting\n", __func__); return rc; err_exit: - d_mpr_e("%s: error exit\n", __func__); + d_mpr_e("%s: error = %d\n", __func__, rc); return rc; } EXPORT_SYMBOL(mmrm_client_set_value_in_range); @@ -201,8 +192,6 @@ int mmrm_client_get_value(struct mmrm_client *client, { int rc = 0; - d_mpr_h("%s: entering\n", __func__); - /* check for null input */ if (!client || !val) { d_mpr_e("%s: invalid input client(%pK) val(%pK)\n", @@ -229,11 +218,10 @@ int mmrm_client_get_value(struct mmrm_client *client, __func__, client->client_type); } - d_mpr_h("%s: exiting\n", __func__); return rc; err_exit: - d_mpr_e("%s: error exit\n", __func__); + d_mpr_e("%s: error = %d\n", __func__, rc); return rc; } EXPORT_SYMBOL(mmrm_client_get_value); @@ -242,8 +230,6 @@ static int msm_mmrm_probe_init(struct platform_device *pdev) { int rc = 0; - d_mpr_h("%s: entering\n", __func__); - drv_data = kzalloc(sizeof(*drv_data), GFP_KERNEL); if (!drv_data) { d_mpr_e("%s: unable to allocate memory for mmrm driver\n", @@ -280,7 +266,6 @@ static int msm_mmrm_probe_init(struct platform_device *pdev) goto err_mmrm_init; } - d_mpr_h("%s: exiting with success\n", __func__); return rc; err_mmrm_init: @@ -290,7 +275,7 @@ err_read_pltfrm_rsc: err_get_drv_data: RESET_DRV_DATA(drv_data); err_no_mem: - d_mpr_e("%s: error exit\n", __func__); + d_mpr_e("%s: error = %d\n", __func__, rc); return rc; } @@ -298,18 +283,18 @@ static int msm_mmrm_probe(struct platform_device *pdev) { int rc = -EINVAL; - d_mpr_h("%s: entering\n", __func__); + d_mpr_h("%s\n", __func__); VERIFY_PDEV(pdev) if (of_device_is_compatible(pdev->dev.of_node, "qcom,msm-mmrm")) return msm_mmrm_probe_init(pdev); - d_mpr_h("%s: exiting: no compatible device node\n", __func__); + d_mpr_e("%s: no compatible device node\n", __func__); return rc; err_exit: - d_mpr_e("%s: error exit\n", __func__); + d_mpr_e("%s: error = %d\n", __func__, rc); return rc; } @@ -331,11 +316,10 @@ static int msm_mmrm_remove(struct platform_device *pdev) dev_set_drvdata(&pdev->dev, NULL); RESET_DRV_DATA(drv_data); - d_mpr_h("%s: exiting with success\n", __func__); return rc; err_exit: - d_mpr_e("%s: error exit\n", __func__); + d_mpr_e("%s: error = %d\n", __func__, rc); return rc; } @@ -359,8 +343,6 @@ static int __init msm_mmrm_init(void) { int rc = 0; - d_mpr_h("%s: entering\n", __func__); - rc = platform_driver_register(&msm_mmrm_driver); if (rc) { d_mpr_e("%s: failed to register platform driver\n", @@ -368,19 +350,17 @@ static int __init msm_mmrm_init(void) goto err_platform_drv_reg; } - d_mpr_h("%s: exiting\n", __func__); + d_mpr_h("%s: success\n", __func__); return rc; err_platform_drv_reg: - d_mpr_e("%s: error exit\n", __func__); + d_mpr_e("%s: error = %d\n", __func__, rc); return rc; } static void __exit msm_mmrm_exit(void) { - d_mpr_h("%s: entering\n", __func__); platform_driver_unregister(&msm_mmrm_driver); - d_mpr_h("%s: exiting\n", __func__); } module_init(msm_mmrm_init);