From 3e8bfc15fda6d17d00e3f677cbfc020b06a0ef9b Mon Sep 17 00:00:00 2001 From: Jérémy Dufour Date: Thu, 26 Jan 2012 15:59:27 +0100 Subject: cleo/devkit/plcdrv: import regbank proc entry, refs #2026 Import from [deaaaf7531f6]. --- cleopatre/devkit/plcdrv/src/plcdrv.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'cleopatre/devkit/plcdrv/src') diff --git a/cleopatre/devkit/plcdrv/src/plcdrv.c b/cleopatre/devkit/plcdrv/src/plcdrv.c index e87190ffd3..30431fd314 100644 --- a/cleopatre/devkit/plcdrv/src/plcdrv.c +++ b/cleopatre/devkit/plcdrv/src/plcdrv.c @@ -232,6 +232,33 @@ plcdrv_writeproc_set_mark (struct file *file, const char *buffer, return -EINVAL; } +/** + * Read some regbank registers. + * \param page buffer to write data to + * \param start unused + * \param offset unused + * \param count unused + * \param eof to be set if end of file reached + * \param data priv structure + * \return number of read bytes + */ +static int +plcdrv_readproc_regbank (char *page, char **start, off_t offset, int count, + int *eof, void *data) +{ + char *p; + + p = page; + p += sprintf (p, "RB_RESET_CAUSE = 0x%08x\n", RB_RST_GSRC_VA); + p += sprintf (p, "RB_PACKAGE = 0x%08x\n", RB_PACKAGE_VA); + *eof = 1; + + /* Clear the register after reading it. */ + RB_RST_GSRC_VA = 0x0; + + return p - page; +} + /** * Set/Unset Reset the Leon processor. * \param activate true to activate reset @@ -813,6 +840,7 @@ plcdrv_uninit (struct net_device *dev) unregister_chrdev_region (priv->dev_number, 2); /* Remove proc. */ + remove_proc_entry ("regbank", priv->proc_dir_plc); remove_proc_entry ("set_mark", priv->proc_dir_plc); remove_proc_entry ("stats", priv->proc_dir_plc); remove_proc_entry ("version", priv->proc_dir_plc); @@ -883,6 +911,8 @@ plcdrv_init (struct net_device *dev) entry->write_proc = plcdrv_writeproc_set_mark; entry->data = priv; } + create_proc_read_entry ("regbank", 0, priv->proc_dir_plc, + plcdrv_readproc_regbank, priv); /* Set Leon code base address (translation). */ leon_start_addr_ptr = (uint32_t *) ioremap (RB_LEON_ADD_START, 1); -- cgit v1.2.3