現在時刻 - 2017年11月19日(日) 00:51


SC-03Dのkernel source mergeに関する質問

カーネルやカスタムROMに関する話題・質問はこちらへ

モデレータ: Samsungモデレータ

  • 作成者
  • メッセージ

HomuHomu

  • 記事: 211
  • 登録日時: 2013年5月30日(木) 21:31

Re: SC-03Dのkernel source mergeに関する質問

投稿記事2014年3月03日(月) 21:55

あ、是非ともブックマークして欲しいのが
http://labs.timedia.co.jp/2011/08/git-undo-999.html
このページ
gitで困った時のtipsが記載されていてとても便利です。
まぁgit入門とかの本買えばいいんですけどねw

コンフリクトしているソースを探します。
コード: 全て選択
grep -lr 'diablo' * > conflict.txt

https://gist.github.com/HomuHomu/9324313

いくつコンフリクトしているかを調べます。
コード: 全て選択
git diff | grep 'diablo' | wc -l

140か箇所と出ました。ウ~~ン微妙ですwww
でもやっちゃいましょうww

HomuHomu

  • 記事: 211
  • 登録日時: 2013年5月30日(木) 21:31

Re: SC-03Dのkernel source mergeに関する質問

投稿記事2014年3月03日(月) 22:05

コンフリクトしているファイルを上から見ていきます。
コード: 全て選択
gedit arch/arm/vfp/Makefile


コード: 全て選択
<<<<<<< HEAD
ifeq ($(USE_CFLAGS_OPTION),y)
KBUILD_AFLAGS  :=$(KBUILD_AFLAGS:-msoft-float=-Wa,-mfpu=neon-vfpv4 -mfloat-abi=soft)
else
KBUILD_AFLAGS   :=$(KBUILD_AFLAGS:-msoft-float=-Wa,-mfpu=softvfp+vfp)
endif
=======

KBUILD_AFLAGS   :=$(KBUILD_AFLAGS:-msoft-float=-Wa,-mfpu=neon)
>>>>>>> diablo


うん、これは簡単。mfpu=neonでビルドするかどうかで、KBC kernelでは単体ビルドする場合
USE_CFLAGS_OPTIONをデフォでつけ、今回はneon buildがデフォなので、ここは、うちがイイヨ!って事で

コード: 全て選択
ifeq ($(USE_CFLAGS_OPTION),y)
KBUILD_AFLAGS  :=$(KBUILD_AFLAGS:-msoft-float=-Wa,-mfpu=neon-vfpv4 -mfloat-abi=soft)
else
KBUILD_AFLAGS   :=$(KBUILD_AFLAGS:-msoft-float=-Wa,-mfpu=softvfp+vfp)
endif


な感じで修正。
あ、いや、ここはあえて
コード: 全て選択
ifeq ($(USE_CFLAGS_OPTION),y)
KBUILD_AFLAGS  :=$(KBUILD_AFLAGS:-msoft-float=-Wa,-mfpu=neon-vfpv4 -mfloat-abi=soft)
else
KBUILD_AFLAGS   :=$(KBUILD_AFLAGS:-msoft-float=-Wa,-mfpu=neon)
endif

にしておこう。linaroじゃない普通のtoolchainでエラーが出るかどうかの確認用として

HomuHomu

  • 記事: 211
  • 登録日時: 2013年5月30日(木) 21:31

Re: SC-03Dのkernel source mergeに関する質問

投稿記事2014年3月03日(月) 22:17

どんどんいきますよ。
コード: 全て選択
gedit arch/arm/Makefile


コード: 全て選択
# If we have a machine-specific directory, then include it in the build.
core-y            += arch/arm/kernel/ arch/arm/mm/ arch/arm/common/
<<<<<<< HEAD
core-y            += arch/arm/net/
=======
>>>>>>> diablo
core-y            += arch/arm/crypto/
core-y            += $(machdirs) $(platdirs)


あ、検索かけるときは、Ctrl+Fして「=======」で拾っていくと捗ります。
これは diabloになくて、うちにあるものだから、とりあえず残しておく。

コード: 全て選択
# If we have a machine-specific directory, then include it in the build.
core-y            += arch/arm/kernel/ arch/arm/mm/ arch/arm/common/
core-y            += arch/arm/net/
core-y            += arch/arm/crypto/
core-y            += $(machdirs) $(platdirs)


本当は
コード: 全て選択
git log arch/arm/Makefile

とか
diabloのWebページ開いて
https://github.com/Hellybean/android_ke ... m/Makefile
なんで消したのかとか確認するといいんだけどね。
https://github.com/Hellybean/android_ke ... 371a67cf06
なんで消したのか解らん。要らないから?ウチいるかも知れないし

HomuHomu

  • 記事: 211
  • 登録日時: 2013年5月30日(木) 21:31

Re: SC-03Dのkernel source mergeに関する質問

投稿記事2014年3月03日(月) 22:26

arch/arm/mach-msm/
以下が一番重要な部分です。
ここを間違えると起動しなくなったり、動作がおかしくなったり後々までシコリが残ったりします。
コード: 全て選択
gedit arch/arm/mach-msm/board-msm8x60_celox.c


コード: 全て選択
static struct regulator_init_data saw_s0_init_data = {
      .constraints = {
         .name = "8901_s0",
         .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE,
<<<<<<< HEAD
         .min_uV = 800000,
#ifdef CONFIG_CPU_OVERCLOCK
         .max_uV = 1350000,
#else
         .max_uV = 1250000,
#endif
=======
         .min_uV = 700000,
         .max_uV = 1350000,
>>>>>>> diablo


みたいなのがいくつか
うん、良かった。OVERCLOCKしてた時の名残りだね。どうする?残しておく?
いつでもOVERCLOCK出来るように残しててもいいよ。というかそうしましょう。
つーか、アチラのカーネル、デフォでOVERCLOCKのUNDERCLOCKじゃねーか!!!選択肢なしかよ!!
選ばせろや!!!とツッコミいれておきましょう。

HomuHomu

  • 記事: 211
  • 登録日時: 2013年5月30日(木) 21:31

Re: SC-03Dのkernel source mergeに関する質問

投稿記事2014年3月03日(月) 22:37

あ、いやちょっと待った
https://github.com/Hellybean/android_ke ... ce36c8c2b7
ここでOVERCLOCK以外のもがっつり変えてる。
すげぇやだ。
まとめてコミットすんなよ。(イラッ
多分このままだと電圧関係とか不安定になります。
何故なら、OVERCLOCKの際は、Kconfigで選べるようにするのがルール(マイルール)なのに上書きしてる。
さてさて、どうしましょうかね。

HomuHomu

  • 記事: 211
  • 登録日時: 2013年5月30日(木) 21:31

Re: SC-03Dのkernel source mergeに関する質問

投稿記事2014年3月03日(月) 22:47

トリアエズ、自分はこの部分はKBCのままにしておくことに決めました。(変えてもいいよ)
さっきのURLに拡張子.patchをつけるとどこ変えたか、パッチ形式で見ることが出来ます。
https://github.com/Hellybean/android_ke ... c2b7.patch

コード: 全て選択
From 9c9b4d048863c2b9850772695d9daece36c8c2b7 Mon Sep 17 00:00:00 2001
From: Chester Kener <Cl3Kener@gmail.com>
Date: Tue, 13 Aug 2013 09:47:31 -0400
Subject: [PATCH] OverClock CPU & GPU

---
 arch/arm/mach-msm/Kconfig                 |  33 ++++--
 arch/arm/mach-msm/Makefile                |   9 ++
 arch/arm/mach-msm/acpuclock-8x60.c        |  70 +++++++++++--
 arch/arm/mach-msm/avs.h                   |   4 +-
 arch/arm/mach-msm/board-msm8x60.c         |  12 +--
 arch/arm/mach-msm/board-msm8x60_celox.c   |  61 +++++++++--
 arch/arm/mach-msm/board-msm8x60_q1.c      |  19 ++--
 arch/arm/mach-msm/clock-8x60.c            |  20 +++-
 arch/arm/mach-msm/cpufreq.c               |   4 +
 arch/arm/mach-msm/devices-msm8x60.c       | 161 ++++++++++++++++++++++++++----
 arch/arm/mach-msm/gpu_freq.c              | 109 ++++++++++++++++++++
 arch/arm/mach-msm/include/mach/kgsl.h     |   4 +
 arch/arm/mach-msm/include/mach/rpm-8660.h |   4 +-
 arch/arm/mach-msm/msm_mpdecision.c        |  93 ++++++++++++++++-
 arch/arm/mach-msm/msm_rq_stats.c          |   1 +
 arch/arm/mach-msm/qdsp6v2/audio_lpa.c     |   3 +-
 include/linux/cpufreq.h                   |   4 +-
 17 files changed, 536 insertions(+), 75 deletions(-)
 create mode 100644 arch/arm/mach-msm/gpu_freq.c

これら17ファイルをgit checkout --oursで元に戻します。

コード: 全て選択
git checkout --ours arch/arm/mach-msm/Kconfig

みたいな感じで
ついでに出来上がった、arch/arm/mach-msm/gpu_freq.cも消す。

HomuHomu

  • 記事: 211
  • 登録日時: 2013年5月30日(木) 21:31

Re: SC-03Dのkernel source mergeに関する質問

投稿記事2014年3月03日(月) 23:00

17ファイル全て元に戻しました。
ここで再度、コンフリクト箇所を調べてみましょう。
コード: 全て選択
grep -lr 'diablo' *

コード: 全て選択
arch/arm/mach-omap2/opp2420_data.c
arch/arm/include/asm/rwsem.h
block/bfq-ioc.c
block/Kconfig.iosched
block/Makefile
block/bfq-iosched.c
block/bfq-cgroup.c
block/sio-iosched.c
block/bfq.h
drivers/input/keyboard/Kconfig
drivers/cpufreq/cpufreq.c
kernel/sched_debug.c
kernel/sched.c
lib/Makefile
lib/string.c
lib/rwsem-spinlock.c
lib/rwsem.c
scripts/setlocalversion


コード: 全て選択
git diff | grep 'diablo' | wc -l

88箇所に減りました。だいぶ減りましたね。

この端末はOMAPじゃないので、arch/arm/mach-omap2/opp2420_data.cなんてのはどうでもいい。Makeされないんだから。
なので、git checkout --ours arch/arm/mach-omap2/opp2420_data.c
と思ったら、ただ、「diablo」って文字列入ってただけだった。もっと普段使わないようなブランチ名にすれば良かった orz

HomuHomu

  • 記事: 211
  • 登録日時: 2013年5月30日(木) 21:31

Re: SC-03Dのkernel source mergeに関する質問

投稿記事2014年3月03日(月) 23:14

次!
gedit arch/arm/include/asm/rwsem.h
ンン?
https://github.com/Hellybean/android_ke ... 520663af1a
lib: Update RWSEM to Linux 3.10.x
何か3.10.xからARM RWSEM algorithmをバックポートしてる。
なんかこれ面白そうってことで、これは入れてみよう。

コード: 全て選択
<<<<<<< HEAD
=======
extern void __init_rwsem(struct rw_semaphore *sem, const char *name,
          struct lock_class_key *key);

#define init_rwsem(sem)            \
do {                  \
   static struct lock_class_key __key;   \
                  \
   __init_rwsem((sem), #sem, &__key);   \
} while (0)

>>>>>>> diablo


コード: 全て選択
extern void __init_rwsem(struct rw_semaphore *sem, const char *name,
          struct lock_class_key *key);

#define init_rwsem(sem)            \
do {                  \
   static struct lock_class_key __key;   \
                  \
   __init_rwsem((sem), #sem, &__key);   \
} while (0)

に修正

HomuHomu

  • 記事: 211
  • 登録日時: 2013年5月30日(木) 21:31

Re: SC-03Dのkernel source mergeに関する質問

投稿記事2014年3月03日(月) 23:38

次は、IOスケジューラの掃除です。
block/
の部分デスね。
ウチのカーネルでは
https://github.com/kbc-developers/andro ... 936a463250
BFQ-v6で
あちらさんは
https://github.com/Hellybean/android_ke ... e78aa74316
BFQ 6r2
まぁ新しい方がイインジャネ?って根拠なしな理屈でtheirsで処理しちゃいましょう。
コード: 全て選択
git checkout --theirs block/bfq-ioc.c
git checkout --theirs block/Kconfig.iosched
git checkout --theirs block/Makefile
git checkout --theirs block/bfq-iosched.c
git checkout --theirs block/bfq-cgroup.c
git checkout --theirs block/bfq.h

ついでにsioスケジューラも
コード: 全て選択
git checkout --theirs block/sio-iosched.c

HomuHomu

  • 記事: 211
  • 登録日時: 2013年5月30日(木) 21:31

Re: SC-03Dのkernel source mergeに関する質問

投稿記事2014年3月03日(月) 23:43

コード: 全て選択
gedit drivers/input/keyboard/Kconfig

コード: 全て選択
<<<<<<< HEAD
=======
config TOUCH_CYPRESS_SWEEP2WAKE
   tristate "Sweep2Wake for Cypress based keypad"
   depends on KEYPAD_CYPRESS_TOUCH
   default n
   help
>>>>>>> diablo

んんんんんんんんん?
SWEEP2WAKE???
こっちは、センターキーはハードボタンだよ?効くの?これ
解らん。まぁ実験だし残しておくか。
コード: 全て選択
config TOUCH_CYPRESS_SWEEP2WAKE
   tristate "Sweep2Wake for Cypress based keypad"
   depends on KEYPAD_CYPRESS_TOUCH
   default n
   help
1つ前へ次へ

Return to 開発全般