• LinuxSHへマージされました。皆さんサポートありがとうございました。 -- 管理人? 2005-09-29 (木) 23:33:57

レスポンスないね〜 Edit

忙しいのかな?
とりあえず、催促メールを打ってみた。

Hi Paul-san

We are waiting for your reply. Are you busy ?
In our source, Is there a part that should be corrected ?

Paulさんから速攻で返事が返ってきた。(+0300 (EEST))ってことはヨーロッパの人なのかな?
文章が短いと威圧的に聞こえるかもしれませんけど、そんな気は全くありませんので、あしからず。

It looks fine as it is now, thanks. Unfortunately I have been sidetracked
with some other items, so I haven't had a chance to commit it yet. If
someone doesn't beat me to it, I'll try to get to it shortly. Sorry for
the delay.

急がすつもりは全然なくって、ただ単に返事が知りたかっただけなので、下記のように返事を出す。
(Excite翻訳まんま、汗。通じてるかな?)

Thank you for quick answer.
We wanted merely to hear the answer.
No problem to waiting.
Please go by the priority level for which you hope.

胡桃さんより、「通常1ヶ月程度はかかるので、慌てないで!」というコメントを頂きました。
他に何か私が気がついてなさそうなこと/勘違いしてそうなこと等があれば、コメントしていただければ幸いです。

宿題2 Edit

1.drivers/charのルール … 了解 Edit

 On Fri, Sep 16, 2005 at 10:46:06PM +0900, kogiidena wrote:
 > - rtc.c
 >   I separated rtc.c to new rtc.c and rs5c313_rtc.c.
 >   May I put rs5c313_rtc.c to driver/char directory ?.
 >   Though it noticed later, becase,
 > 
 >   1) rs5c313_rtc.c is depend on SH4-SCI and LANDISK's FPGA functions.
 >   2) LANDISK's FPGA function is not open, so, analysis is very difficult.
 > 
 >   May I put such a source on a general place ?
 > 
 This is fine, there are plenty of things in drivers/char that are very
 much platform dependant. It is however still a more correct place to
 store these sorts of things. It's also easier to make it more platform
 agnostic if in the future someone wants to do the work to get it working
 on something else.
  • drivers/charは、基本的に何でも置いて良いってことか!
    rs5c313_rtc.cをドライバレベルまで昇格させたのは、結局取り越し苦労だったわけね。

2.boards/landisk ディレクトリのルール … 完了 Edit

 > - landisk_pwb.c
 >   landisk_pwb.c handles very board specific functions implemented with the
 > FPGA.
 >   For example, POWER SWITCH Control, another Button Control, LED control,
 > buzzer
 >   control are included.
 >   Could one really reuse it for the other boards or archs ?
 >   We hope it store to board/landisk directory.
 > 
 This is a matter of taste I suppose. MIPS traditionally dumps these in
 drivers/char, and ARM generally keeps these in the board-specific
 directories. I suppose there's no problem in leaving it where it is for
 now.
  • 意訳するとこんな感じかな?本筋は合っていますか?>英語が分かる方
    これは好き好きです。MIPS系は伝統的にdrivers/charへ置くけど、 ARM系はboardsへ
    置く傾向がある。landisk_pwb.cは今のままで何の問題もないからそのままでいいよ。
    
    ということらしいので、landisk_pwb.c はboards/landiskへ置くことにしましょう。
    MIPS系の話を持ち出したPaulさん的には、drivers/charへ置いて欲しいのかもしれませんね。
    (あそこに置くと、置いた事を忘れてしまうので、全部まとめて置いておきたい、ってのが私の本音。)

  • もしdrivers/charに置いて欲しければ彼ははっきりそう主張すると思うので、これは要するに今ある所でokだという風に聞こえます。 -- kkojima? 2005-09-20 (火) 21:08:46
    • ありがとうございます。"it"を多用されると、どれにかかっているのか自身がなくなってしまって。あ〜情け無い。 -- 管理人? 2005-09-20 (火) 21:20:47
  • Paulさんは、元々自信はないけど(I suppose)、置き方は趣味の問題(a matter of taste)とことわっています。 -- 胡桃? 2005-09-20 (火) 23:49:53
  • その例として、MIPS系は、...だし、ARMは board-specific dirrectoriesに置いている。と説明しておられます。 -- 胡桃? 2005-09-20 (火) 23:52:02

3. コードクリーニングその1 … 完了 Edit

 On Mon, Sep 19, 2005 at 09:54:35PM +0900, kogiidena wrote:
 > We modified the patch of LANDISK
 > 
 > (1) I separated rtc.c to new rtc.c and drivers/char/rs5c313_rtc.c
 > (2) rs5c313_rtc.c was rewritten to operate as a driver.
 > (3) scripts/Lindent was used.
 > (4) mach.c used c99 initializers.
 > (5) mach.c was put in setup.c
 > (6) IDE_ARCH_OBSOLETE_INIT and __WANT_IO_DEF are removed.
 > 
 > Please teach me when there is a point that should be corrected.
 > 
 > (a)
 > http://eggplant.ddo.jp/www/download/kernel26/merge/landisk-flat3-arch-sh.patch
 
 This looks ok. One minor thing would be to delete all of the commented
 out and unused/dead code from the patch, as there seems to be quite a lot
 of it (for debugging I suppose), and we don't really want that. Other
 than that, it looks ok.
 
  • コメント化して殺している(デバッグ)コードを削除してください。ってことか!
    • 全削除完了。
    • IOデータオリジナル部分はとっておきたかったんだけど、削除しました。

4. コードクリーニングその2 … 完了 Edit

 > (b)
 > http://eggplant.ddo.jp/www/download/kernel26/merge/landisk-flat3-include.patch
 
 Much better.
  • デッドコード部分を念のため削除

5. コードクリーニングその3 … 完了 Edit

 > (c)
 > http://eggplant.ddo.jp/www/download/kernel26/merge/landisk-flat3-drivers.patch
 >
 This generally also looks ok. It would be nice if the rs5c313_rtc.c
 driver would consolidate all of the copyrights/header stuff at the top of
 the file (as things like ds1286.c do, for instance).
 
 If you can fix those few minor issues, I'll merge it.
  • ds1286.c を見習って、コピーライト記述を先頭部分に集約しなさい。ってことか!
    • 先頭部分に集約完了
    • 3行も英文あるけど、これ以外には何も要求されてないよな?
  • 3行はどのファイルのコピーライトをという意味があるので、日本語でいうより長くなっていますね。でも、これでマージでいるぞということで。 -- 胡桃? 2005-09-20 (火) 23:56:49
  • 胡桃さん、ありがとうございます。カーネルコードの取り纏め者って私の中では気難しそうなイメージがありましたが、
    臨機応変に対応してくださるところを見ると、Paulさんって案外気さくな方なのかもしれません。 -- 管理人? 2005-09-21 (水) 00:08:58
  • 人よりけりだとおもうけど、日本人よりだいたいがオープンソースの世界の人は気さくですね。日本人は恥じの文化があるからなかなか気さくに行動できない。:−) -- 胡桃? 2005-09-21 (水) 01:19:45

宿題1 Edit

1.Thanks Edit

 On Wed, Sep 14, 2005 at 01:54:11AM +0900, kogiidena wrote:
 > We ported LinuxSH to LANDISK made by I-O DATA DEVICE, INC.
 > We hope for merging the source to LinuxSH.
 > Can we contribute it to LinuxSH, if it's ok ?
 > 
 > patch is in here:
 > http://eggplant.ddo.jp/www/download/kernel26/merge/landisk-support-flat.patch
 > 
 Most of the board-specific parts look ok, but the driver bits should be
 moved somewhere else.. and there are a few other minor issues.
  • こんなに丁寧にチェックしていただき、まじ、感謝します。
    大変だったろうに。ありがとうございます。
  • kkojimaさん、Saito.Kさん、貴重なコメントありがとうございました。
    本当に助かりました。

  • とりあえず、パッチを3パターン用意しました。どっちにするかは、Paulさんの返事で決定予定。
    先制攻撃ってわけでもないけど、3番目のを投げました。

2.rtc.c/rs5c313_rtc.c … たぶん完了 Edit

 > 	* arch/sh/boards/landisk/rtc.c: New file.
 > 	* arch/sh/boards/landisk/landisk_pwb.c: New file.

 These should go in to drivers/char. rtc.c should be renamed to something
 like rs5c313_rtc.c. You can have an rtc.c in the landisk directory, and
 that's where you should move the gettimeofday/settimeofday and
 board-specific time init code. Most of the rest of the RTC code is
 generic, so moving it to drivers/char gives other people a chance to use
 it (perhaps also add a Kconfig option for it to drivers/char/Kconfig).
  • rtc
    作業内容と作業量が全くつかめていません。… だんだんわかってきた。
  • New rtc.cは次の関数のみで構成するのかな?
    • landisk_rtc_gettimeofday()
    • landisk_rtc_settimeofday()
    • landisk_time_init()
    • でその他の部分がgenericか。
  • genericである。というより、「する」のイメージに近そう。
    • RTCチップは3線インタフェース。SH4のSCIインターフェース 端子で制御している。
      http://www.ricoh.co.jp/LSI/product_rtc/3wire/5c313/5c313-j.pdf
      • SCIのレジスタを直アクセス。再利用むずかしそう。
      • SCIインターフェースは未使用。ただし、ポートを使用。切り離し可能そう。
  • 0xb0000008 へ0x02の書き込み…謎のアクセス。
    • RTC割り込みは未使用。従って割り込みマスク制御でもなさそう。
    • 時計の桁上がり(BUSY)をチェック後、BUSYの時に限り、本番地をアクセスしている。
    • CPLDでBUSWAITさせてる? でもライトアクセスだしな〜


  • /drivers/char/に移してって事では(英語わかんないので雰囲気から想像してます)。 -- 2005-09-16 (金) 09:44:11
    • うちのCTP/PCI-SH03用のコードは、/drivers/char/sh03rtc.cと/arch/sh/boards/sh03/rtc.cに分離してます。きっと、LANDISKのrtc.cも分けてっていっているのでは(英語わかんないので、かなり想像です^^;)...ごめんなさい。書いてる途中で送ってしまいました。。 -- Saito.K? 2005-09-16 (金) 09:52:09
    • sh03のRTCはSRAMインタフェースなんですね。ベースアドレスを替えるだけで済むので、これなら再利用性抜群ですね。 -- 管理人? 2005-09-16 (金) 21:35:37
  • should だから、これこれしなさい/すべしということです。 -- 胡桃? 2005-09-18 (日) 08:47:04
    • can have ... は、landisk directory 置いてもいいよって。 -- 胡桃? 2005-09-18 (日) 08:48:55
    • landisk に置く時は、geettimeofday/settimeofday として、board特有のtime init to -- 胡桃? 2005-09-18 (日) 08:52:41
    • ごめん。上の続き。board特有のitme init code とする。 -- 胡桃? 2005-09-18 (日) 08:53:58
    • Most of ..のところは、残った RTC code は dirvers/char/にもってけ。そうすれば他の人(国?)が使えるね。 -- 胡桃? 2005-09-18 (日) 08:56:36
    • パッチは、rs5c313_rtc.cを、/drivers/char/に持っていったバージョンとそうでないもの、2パターン用意しました。ただし、rs5c313_rtc.cには、ボード固有のコード散見されるので、このまま置いても良いか質問中です。 -- 管理人? 2005-09-18 (日) 09:01:43
    • 管理人さん、ごめんなさい。ちょっと私のお節介おそかったですね。 -- 胡桃? 2005-09-18 (日) 09:08:39
    • いえいえ、綺麗に分離できない理由(したくない理由)は、上記0xb0000008へのアクセス部分があるためです。ハードを叩くコードは、安易にさわらないほうが良いかな〜と。 -- 管理人? 2005-09-18 (日) 09:25:43
    • 了解です。中身(code全体)がわかっていないので。0xb0000008へのアクセスはオリジナル?であれば、質問してみる。BBSで私のお手伝い可能範囲連絡しますね。 -- 胡桃? 2005-09-18 (日) 09:36:25
    • 0xb0000008へのアクセスはオリジナルです。ありがとうございます。 -- 管理人? 2005-09-18 (日) 10:03:27
  • 0xb0000008ではなく0xb0000003では?調べた限りではCPLD(FPGAではありません)のレジスタのアドレスデコードは3ビットです。ビット1はRTCのCEにつながっています。 -- hoso? 2005-09-18 (日) 13:12:17
    • RTCアクセスのサンプルのコードは mizore にあるので良ければ参照ください。 -- hoso? 2005-09-18 (日) 13:13:42
    • 「8」なんですよ。シャドーになってるはずだから、「0」かもしれませんが、ソースでははあえて「8」と明示しているんですよね。パッチを作る際も含め、mizore(hoso)さんのページは日常的に拝見させていただいています。rtcのコードはおおむね理解しました。概ソースに桁上がり処理時のビジーウェイトを追加すれば、代替可能そうですね。 -- 管理人? 2005-09-18 (日) 13:20:29
                     if (!(rs5c313_read_cntreg() & RS5C313_CNTREG_ADJ_BSY))
                              break;
                      ctrl_outb(0x02, 0xB0000008);
                      ctrl_outb(0x00, RS5C313_CE);  ← これは0xB0000003
                      ndelay(700);    /* CE:L */
      
    • rtc.c見たら確かにありますね。いままで気がつきませんでした。mizoreのサンプルはカーネルソースを入手する前に作ったものです。でも動くので正常系の処理では不要だと推測しています。割り込みは使いませんが割り込み信号線はCPLDにつながっています。なのでタイマで起動などが可能なのかも。その関連かなと勝手に思っています。 -- hoso? 2005-09-18 (日) 18:36:35
  • 機種依存部分を分離して、さらにrs5c313_rtc.cをドライバとして動作するよう大幅機能拡張しました。(分離はしたけど、中身がグジャグジャだったり。) あ〜疲れた。 -- 管理人? 2005-09-19 (月) 22:08:35

3. landisk_pwd.cの分離 … とりあえず放置 Edit


  • landisk_pwb.c … 分離しろと言ってるわけではなく、チェックを要求してるのか!
    • LANIDSKのボタン制御等を行う部分
    • 分離しても再利用されることはなさそう。
    • この場所にあっちゃだめなのかな?
    • 交渉の余地あり?
  • landisk_pwb.c も持って行けと言ってるみたいですね。 うーん私も全く同じ疑問を持ちました。 何か勘違いがあるのかも。
     landisk_pwb.c handles very board specific functions implemented with the FPGA.
     Could one really reuse it for the other boards or archs?
    
    とか言ってみた方がいいかもしれませんね。 # 英語あやしいですが^^; -- kkojima? 2005-09-16 (金) 08:51:21
  • RTCは分離してみたものの、SH4のSCIとFPGAに依存していることがわかりました。こちらも含めてPaulさんに相談してみることにします。 -- 管理人? 2005-09-16 (金) 21:27:06
  • RTCは、生産中止の保守部品あつかいだし。。。 -- 管理人? 2005-09-16 (金) 21:28:07
  • landisk_pwb.c is implemented for the specific functions of a time depended FPGA implementation. -- 胡桃? 2005-09-18 (日) 09:05:08
  • 上の英語は案でした。コードの意図はなにか。そして、2行目はこういうケースではどう扱えばいいか?という質問から -- 胡桃? 2005-09-18 (日) 09:10:04
  • 入る方がいいかと思います。 -- 胡桃? 2005-09-18 (日) 09:10:35
  • 何から、何まですみませんです。メーリングリストに送るまえに、相談すればよかったです。 -- 管理人? 2005-09-18 (日) 09:46:45
  • いえいえ。MLに送ってしまうのも no problemです。kkojimaさんとかSato.Kさんも直接返事して、kogidenaさん1人じゃないということ見えた方がいいですよ。kogidenaさん1人だと大変だし、先方も、おお多数の仲間がいるんだとわかりますから。 -- 胡桃? 2005-09-18 (日) 10:15:54

4.scripts/Lindent … 解決 Edit

 At the same time, please also run landisk_pwb.c through scripts/Lindent
 or something similar, it needs to comply with Documentation/CodingStyle.

ソース整形ツールでチェックしてね、ってことかな?
きっと誰かやり方をしってるでしょう。
対応可能。

  • これは kernel source の top で scripts/Lindent arch/sh/boards/landisk/landisk_pwb.c するだけだと思います。 -- kkojima? 2005-09-16 (金) 07:49:34

5.c99 initializers … 解決 Edit

 > 	* arch/sh/boards/landisk/setup.c: New file.
 > 	* arch/sh/boards/landisk/mach.c: New file.
 
 mach.c needs to use c99 initializers, and you can also just inline it in
 setup.c (as other boards are doing).

mach.cは対応可能。
setup.cは何が問題?

  • mach.c を setup.c に入れちゃえと言ってるみたいですね。 -- kkojima? 2005-09-16 (金) 07:58:53

6.define label … 解決 Edit

 > 	* include/asm-sh/irq.h: Add LANDISK support.
 > 	* include/asm-sh/landisk/io.h: New file.
 > 	* include/asm-sh/landisk/gio.h: New file.
 > 	* include/asm-sh/landisk/ide.h: New file.
 > 	* include/asm-sh/landisk/iodata_landisk.h: New file.
 > 
 Can you explain why you are using IDE_ARCH_OBSOLETE_INIT and
 __WANT_IO_DEF?
  • __WANT_IO_DEF … 使用されていないようだ。削除でOK!

  • IDE_ARCH_OBSOLETE_INIT … これも削除でOK
    ちなみに使用箇所は下記のみ。
    • drivers/ide/setup-pci.c
      #ifndef IDE_ARCH_OBSOLETE_INIT
      		ide_std_init_ports(&hwif->hw, base, (ctl | 2));
      		hwif->hw.io_ports[IDE_IRQ_OFFSET] = 0;
      #else
      		ide_init_hwif_ports(&hwif->hw, base, (ctl | 2), NULL);
      #endif
      
    • include/linux/ide.h
      #ifdef IDE_ARCH_OBSOLETE_INIT
      static inline void ide_init_hwif_ports(hw_regs_t *hw,
      				       unsigned long io_addr,
      				       unsigned long ctl_addr,
      				       int *irq)
      {
      	if (!ctl_addr)
      		ide_std_init_ports(hw, io_addr, ide_default_io_ctl(io_addr));
      	else
      		ide_std_init_ports(hw, io_addr, ctl_addr);
      
      	if (irq)
      		*irq = 0;
      
      	hw->io_ports[IDE_IRQ_OFFSET] = 0;
      
      }
      #else
      
      defineされようが、されまいが、結局、同じコードに落ちる。

  • #ifdef __WANT_IO_DEFと、#define IDE_ARCH_OBSOLETE_INITが無くても動くとか...... -- Saito.K? 2005-09-16 (金) 13:00:59
    • ヒントをありがとうございます。謎がとけました。どうやらPaulさんは知ってて質問したようだ!涙

7.別件…kexecのrelocate_kernel.c … 解決 Edit


トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-06-13 (火) 20:02:27 (6534d)