From: Heiko Schocher <hs@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] I2C: Add support for multiple I2C busses for SNTP (effect to RTC)
Date: Mon, 23 Aug 2010 08:43:35 +0200 [thread overview]
Message-ID: <4C721897.6040708@denx.de> (raw)
In-Reply-To: <1282319697-14544-1-git-send-email-linz@li-pro.net>
Hello Stephan,
added Ben Warren to cc: because this is a change in net,
which also falls in his area of responsibility ...
Stephan Linz wrote:
> This patch switches to the desired I2C bus when the SNTP
> network service is called. This can be configured using the
> CONFIG_SYS_RTC_BUS_NUM define.
>
> In my eyes this is a bad and quick hack, but the same as
> was making for the date and dtt commands (commit: 0dc018e).
> The right way would be to move all the hardware specific i2c
> code down to the rtc driver layer.
Yes, thats would the best way, but why you don;t go this
way? Beside of that, this patch look good to me ...
> Signed-off-by: Stephan Linz <linz@li-pro.net>
> ---
> net/sntp.c | 18 ++++++++++++++++++
> 1 files changed, 18 insertions(+), 0 deletions(-)
>
> diff --git a/net/sntp.c b/net/sntp.c
> index 76c10ec..5544570 100644
> --- a/net/sntp.c
> +++ b/net/sntp.c
> @@ -10,6 +10,14 @@
> #include <net.h>
> #include <rtc.h>
>
> +/*
> + * FIXME: The i2c dependency should move into the RTC drivers itself.
> + * This higher network layer must not know about hardware specifics!
> + */
> +#if defined(CONFIG_CMD_DATE)
> +#include <i2c.h>
> +#endif
> +
> #include "sntp.h"
>
> #define SNTP_TIMEOUT 10000UL
> @@ -53,6 +61,9 @@ SntpHandler (uchar *pkt, unsigned dest, unsigned src, unsigned len)
> struct sntp_pkt_t *rpktp = (struct sntp_pkt_t *)pkt;
> struct rtc_time tm;
> ulong seconds;
> +#if defined(CONFIG_CMD_DATE)
> + int old_bus;
> +#endif
>
> debug("%s\n", __func__);
>
> @@ -66,7 +77,14 @@ SntpHandler (uchar *pkt, unsigned dest, unsigned src, unsigned len)
>
> to_tm(ntohl(seconds) - 2208988800UL + NetTimeOffset, &tm);
> #if defined(CONFIG_CMD_DATE)
> + /* switch to correct I2C bus */
> + old_bus = I2C_GET_BUS();
> + I2C_SET_BUS(CONFIG_SYS_RTC_BUS_NUM);
> +
> rtc_set (&tm);
> +
> + /* switch back to original I2C bus */
> + I2C_SET_BUS(old_bus);
> #endif
> printf ("Date: %4d-%02d-%02d Time: %2d:%02d:%02d\n",
> tm.tm_year, tm.tm_mon, tm.tm_mday,
bye
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
next prev parent reply other threads:[~2010-08-23 6:43 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-20 13:19 [U-Boot] [PATCH] I2C: Add support for multiple I2C busses for SNTP (effect to RTC) Stephan Linz
2010-08-20 14:05 ` Wolfgang Denk
2010-08-20 15:54 ` Stephan Linz
2010-08-23 6:43 ` Heiko Schocher [this message]
-- strict thread matches above, loose matches on Subject: below --
2010-08-23 7:29 Stephan Linz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C721897.6040708@denx.de \
--to=hs@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.